rocksdb/java
zawlazaw 57fcdc264a added missing subcodes and improved error message for missing enum values
Summary:
Java's `Status.SubCode` was out of sync with `include/rocksdb/status.h:SubCode`.

When running out of disc space this led to an `IllegalArgumentException` because of an invalid status code, rather than just returning the corresponding status code without an exception.

I added the missing status codes.

By this, we keep the behaviour of throwing an `IllegalArgumentException` in case of newly added status codes that are defined in C but not in Java.

We could think of an alternative strategy: add in Java another code "UnknownCode" which acts as a catch-all for all those status codes that are not yet mirrored from C to Java. This approach would never throw an exception but simply return a non-OK status-code.

I think the current approach of throwing an Exception in case of a C/Java inconsistency is fine, but if you have some opinion on the alternative strategy, then feel free to comment here.
Closes https://github.com/facebook/rocksdb/pull/3050

Differential Revision: D6129682

Pulled By: sagar0

fbshipit-source-id: f2bf44caad650837cffdcb1f93eb793b43580c66
2017-10-23 16:42:07 -07:00
..
benchmark/src/main/java/org/rocksdb/benchmark Expose max_background_jobs option in RocksJava 2017-09-20 10:26:37 -07:00
crossbuild RocksJava build target for Docker on ppc64le 2017-10-02 11:11:56 -07:00
rocksjni added missing subcodes and improved error message for missing enum values 2017-10-23 16:42:07 -07:00
samples/src/main/java Fix statistics in RocksJava sample 2017-08-01 16:58:26 -07:00
src added missing subcodes and improved error message for missing enum values 2017-10-23 16:42:07 -07:00
CMakeLists.txt Add OptionsUtil class to java/CMakeLists.txt 2017-10-12 16:57:05 -07:00
HISTORY-JAVA.md Update JAVA-HISTORY.md for v3.13 2015-08-04 18:12:58 -07:00
jdb_bench.sh Moved Java Benchmark main classes into benchmark/src/main/java 2015-02-01 20:05:10 +00:00
Makefile Added CompactionFilterFactory support to RocksJava 2017-10-12 11:12:16 -07:00
RELEASE.md Fixed packaging of java crossbuild jar by forcing all compiled binaries to be output to the java/target directory. The uber crossbuild jar is then assembled within the java/target directory. 2015-10-12 20:29:58 -04:00
rocksjni.pom Update java/rocksjni.pom 2017-07-18 13:12:23 -07:00