Commit Graph
234 Commits
Author SHA1 Message Date
leventov 3e903775f9 Revert method and field reordering 2017-06-04 12:33:41 -05:00
Peter Lawrey ed8361b5cf Add a fix for enums being written as marshallables. 2017-06-04 14:01:48 +01:00
leventov 7f3cca96d2 Add ChronicleHashCorruption listening interface, and Beta annotation 2017-02-26 21:02:34 -06:00
leventov d1fd590be1 In methods which return contexts, wrap all code after context is obtained in try-catch and try to close the context if any exception occurred, to prevent context leaks 2016-12-27 15:38:52 +07:00
leventov 842064dca5 Clean serializers and ThreadLocal fields of VanillaChronicleMap on close() 2016-12-27 15:50:24 +08:00
leventov fa70e216bd Improvements to ChronicleMap resource closing subsystem, making it more robust in exotic scenarios (OutOfMemoryError, StackOverflowError) and be able to close after incorrect attempt to close when a context is open in the same thread 2016-12-26 14:27:32 +08:00
leventov 167a15f985 Cache VanillaChronicleMap.identityString lazily (after initOwnTransients()) because file() is not set by the time initOwnTransients() is called 2016-12-10 23:19:43 -06:00
leventov e0b534af23 Move all ChronicleMap closing logic into independent ChronicleHashResources. Reference contexts from ThreadLocals via ContextHolders and clear references to contexts on closing ChronicleMap. Make some closing procedures more paranoid than they were. Cache ChronicleMap's identityString and always return the same String from toIdentityString(). Add Throwables.returnOrSuppress(). 2016-12-10 21:03:20 -06:00
leventov 9e88392db6 Rename ChronicleHashResourceReleaser to ChronicleHashResources 2016-12-10 21:03:20 -06:00
leventov 37d82f290a Review Exception throwing and handling throughtput the library, create specific InterProcessDeadLockException for Chronicle Map deadlocks 2016-11-19 19:14:53 -06:00
leventov d76f838adb Add ability to configure name for all ChronicleMaps and ChronicleSets via ChronicleHashBuilder.name(). Add ChronicleHash.toIdentityString() 2016-11-12 15:43:27 -06:00
leventov 9a2bb31b66 Add ChronicleHash.offHeapMemoryUsed() method; Centralized management of all direct memory and file resources of ChronicleMap in one Cleaner 2016-11-05 15:08:45 -06:00
leventov 223b2d4329 Prevent leaks of ChronicleMaps though thread local contexts and supplimental OldDeletedEntriesCleanupThread, add MemoryLeakTest 2016-10-01 20:33:16 +03:00
leventov f93001dc8e Minor fixes in VanillaChronicleMap and ReplicatedChronicleMap 2016-10-01 20:33:16 +03:00
leventov 15022b18b3 Close iterationContext used in recovery, fixes #96 2016-08-21 18:46:51 +07:00
leventov f9edc314bb Optimize VanillaChronicleMap.longSize(): don't acquire and close context for each segment, and make it atomic against concurrent map.close() 2016-08-05 23:20:50 +07:00
leventov 4bcdcdb8ce Update license information 2016-07-22 15:05:04 +07:00
leventov 7afe1eca13 Optimize VanillaChronicleMap.get() and getUsing() 2016-07-17 23:35:58 +07:00
leventov 7ada09a8dc Make VanillaChronicleHash.close() to wait until concurrent threads accessing the hash finish their work and don't permit new threads to come while close() is in progress and after that 2016-07-17 23:25:49 +07:00
Peter Lawrey 35c721419c Fix a couple of API changes. 2016-04-17 19:36:06 +01:00
leventov d7ed5b0153 Simplify parameter flow on VanillaChronicleHash initialization 2016-02-09 15:03:34 +07:00
leventov 28eeeb70e7 Remove the complexity and API-transparency of implementing and supporting built-in serializability for marshallers and core implementation classes, as this is replaced with Wire Marshallable 2016-01-14 16:07:22 +03:00
leventov 97e4c12de1 HCOLL-378 #36 Add ChronicleHashBuilder.recoverPersistedTo() and ChronicleHashInstanceBuilder.recover() functionality 2016-01-04 23:24:39 +03:00
leventov 3773b3d60a Add methods for Engine support 2015-12-18 03:00:38 +03:00
leventov 229aeb5fdf Minor improvements related to VanillaChronicleMap.alignAddr() 2015-12-12 18:00:10 +03:00
leventov b34fcfce71 Remove unused newInstance() method in VanillaChronicleMap 2015-12-11 18:51:29 +03:00
leventov 7a5c799a28 Remove throws IORuntimeException everywhere as redundant and deprecated 2015-12-11 16:23:45 +03:00
leventov a0c982374d Fix a bug in HashSegmentIteration.forEachTierWhile() 2015-11-29 01:52:57 +03:00
leventov bfa9988551 Add ChronicleSetBuilder.entryOperations() and .remoteOperations() interception configuration methods; Rename SetRemoteOperations.insert() to put(), for consistency with MapRemoteOperations 2015-11-28 23:20:29 +03:00
leventov fe77012381 Read/Write ChronicleMap's boostrapping header with Wire 2015-11-25 20:37:19 +03:00
leventov d32f7e9e62 Remove VanillaChronicleMap.nativeValueClass fields (unused) 2015-11-25 18:33:29 +03:00
leventov 114d2840f1 Remove newKeyInstance() and newValueInstance() as more confusing than helpful 2015-11-25 01:03:07 +03:00
leventov ade2196e72 Java-Lang -> Chronicle-Bytes, Chronicle-Values 2015-11-22 22:10:39 +03:00
leventov 0985eb71a1 Remove metaDataBytes (unused) 2015-10-22 03:45:47 +03:00
leventov cad3d3abfe HCOLL-400 forbid nested update and write locks inside iteration contexts; rename IterationContextInterface to IterationContext; update stage-compiler dependency 2015-10-09 15:09:32 +03:00
leventov 70fb0dd2fa Refactor: move initUsed(true) inside ChainingInterface.getContext() 2015-10-06 18:59:54 +03:00
leventov 103a893a25 CHENT-67 make putReturnsNull and remoteReturnsNull configurations in Chronicle Map not peristent [Application of b6426edbd2] 2015-10-02 02:10:10 +03:00
leventov 14373cc129 Rename ownInitTransients() -> initOwnTransients() 2015-10-02 02:07:38 +03:00
leventov b9084b1918 Init transient field cxt in VanillaChronicleMap in initOwnTransients() rather than on declaration site 2015-09-28 22:40:22 +03:00
leventov c88340f842 Fix several bugs 2015-09-28 22:13:03 +03:00
leventov 440b075f9d Remove ChronicleMap.putMapped() as a duplicate of computeIfPresent(); Reduce the number of ignored tests 2015-09-27 15:41:07 +03:00
leventov 01d24b0ee0 As ChronicleMapBuilder always cloned before Map creation, make 'replicated' an 'instance' field instead of a parameter of almost all methods 2015-09-26 22:04:28 +03:00
leventov 4606b64a02 Update stage-compiler version removing limitation that stage names shouldn't be prefixes of each other 2015-09-12 21:29:49 +03:00
leventov 904ecca036 HCOLL-343 HCOLL-227 Remove old entries from ReplicatedChronicleMap 2015-08-23 00:01:44 +03:00
leventov e7a8a11505 OHFT-58 Change license to LGPLv3 to protect redistribution 2015-07-25 23:12:23 +03:00
leventov 910dcfbd75 Remove @NotNull from parameters in VanillaChronicleMap, to avoid 'unfair' test fail in IntelliJ 2015-07-25 16:16:51 +03:00
leventov 340ab09409 Moved DefaultValueProvider to the new Contexts API; removed defaultValue() SPI from MapEntryOperations (essentially replaced by DefaultValueProvider); Removed the old contexts, KeyContext and MapKeyContext completely 2015-07-24 21:36:55 +03:00
leventov 9fe1dab477 HCOLL-352 Changed garbage-free Chronicle-Map iterations API from old to new Contexts; Add SegmentContexts API 2015-07-24 20:11:58 +03:00
leventov 912a3cc2fc Removed ChronicleHash.context() method and changed acquireContext() return type from deprecated MapKeyContext to Closeable 2015-07-24 03:43:50 +03:00
leventov 00ad3068ee Renamed wrapValueAsValue() to wrapValueAsData after Value -> Data rename 2015-07-22 20:46:50 +03:00