Commit Graph
1600 Commits
Author SHA1 Message Date
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 e14cbe262b Disable testChronicleMapCollectedAndDirectMemoryReleased() on Linux 2016-11-20 20:06:13 -06:00
leventov 1f7a928af4 Fix testChronicleMapCollectedAndDirectMemoryReleased() 2016-11-20 19:37:51 -06:00
leventov 852e503607 In serializers which use elastic Bytes, inherit Bytes' capacity on copy() to avoid unnecessary resizes in each copy 2016-11-20 19:36:00 -06:00
leventov a26b19d5c7 Generate extra garbage in MemoryResourcesTest to trigger GC 2016-11-20 18:52:38 -06:00
leventov 90b538ba64 Use random file names in tests of persisted maps to avoid inference 2016-11-20 18:31:44 -06:00
leventov 0f6d37ae24 Add ExitHookTest 2016-11-19 20:27:21 -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 5ae69c3035 Fix #103 (a typo) 2016-11-12 15:49:08 -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 e7b2836e2a Impove comments in VanillaChronicleHash 2016-11-05 17:23:48 -06:00
leventov 406bd59848 Remove VanillaChronicleHash from OnExitHook on close() 2016-11-05 17:19:07 -06:00
leventov 9723fcd689 Do VanillaChronicleHash.msync() only when ChronicleHash is persisted 2016-11-05 15:08:54 -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 68c29c4c54 Use on-heap elastic bytes in DataAccess implementation in order not to pollute direct memery with small allocations, reallocations and associated Cleaners, when many ChronicleMaps are created in the JVM. Also, NativeBytes reallocation granularity is 4KB, that is too much for likely small keys and values. 2016-11-05 15:06:44 -06:00
leventov e6f4fb74ee Fix ThrowablesTest 2016-11-05 14:53:46 -06:00
leventov 578c6638ba Add Throwables utilities, inspired by Guava 2016-10-30 13:47:34 -06:00
leventov a2c8ac4866 Try to close alive ChronicleMaps on JVM shutdown 2016-10-02 18:42:39 +03:00
leventov 4b1f11dd3a Canonicalize file to where ChronicleMaps are persisted, to ensure CanonicalRandomAccessFiles work in the face of symbolic links provided to ChronicleMapBuilder (but unfortunately not hard links) 2016-10-01 22:37:47 +03:00
leventov 3b22bb5547 Ensure safe publication of ChronicleMaps, created in ChronicleMapBuilder 2016-10-01 22:09:54 +03:00
leventov 1825fc61ee More correctly formulated reasoning of loadFence() in ThreadLocalState.unlockContextLocally() 2016-10-01 22:06:14 +03: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 8981ae2fd0 More comments in ChronicleMapBuilder 2016-10-01 20:33:16 +03:00
leventov 126f091113 Add missing private constructor to CanonicalRandomAccessFiles to prohibit instantiation of this class 2016-10-01 20:33:16 +03:00
leventov b4258fa263 Don't use synrhonized on a public object (the map itself) in ReplicatedChronicleMap.close() 2016-10-01 20:33:16 +03:00
leventov d04b7cfc20 Make OldDeletedEntriesCleanup a Thread instead of Runnable to be executed in a single-threaded executor 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 ec919b94eb More clarifying comments in ThreadLocalState.closeContext() 2016-10-01 20:33:16 +03:00
leventov 95ca197444 Move ThreadLocalState.iterationContextLockedInThisThread after static members in this class 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 54d481507b Remove unused field in SerializationBuilder 2016-08-05 23:31:36 +07:00
leventov 9a5d6fa50e Address the issue with ChronicleHash accessors throwing AssertionError instead of IllegalStateException after ChronicleHash is closed 2016-08-05 23:31:09 +07:00
leventov ba8227ade1 Use more specific ChronicleHashClosedException instead of IllegalStateException, when methods of ChronicleHash are called after hash.close(). Actualize ChronicleHash.close() javadoc. 2016-08-05 23:22: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
Peter Lawrey 0fb4eeefdc Update Chronicle Map to using bom 1.13.12 2016-07-31 17:00:08 +01:00
leventov 4bcdcdb8ce Update license information 2016-07-22 15:05:04 +07:00
leventov 33daa3bb9b Minor optimization in HashLookupSearch.nextPos() 2016-07-17 23:36:00 +07:00
leventov 7afe1eca13 Optimize VanillaChronicleMap.get() and getUsing() 2016-07-17 23:35:58 +07:00
leventov 7a1f00b1d8 Minor javadoc improvement of ChronicleMap 2016-07-17 23:25:52 +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
leventov b3c1f7b1e2 Expose Thread owner() in ChainingInterface 2016-07-17 23:25:46 +07:00
Peter Lawrey a230c08e89 Cut blank lines 2016-07-07 20:33:40 +01:00
leventov 6340266cfa Add Chronicle Map 3.8.0 Compatibility test 2016-06-24 19:15:57 +07:00
leventov 4cffff652f Update to newer Core, Bytes & Wire dependency versions; make all enum marshallers ordinary classes with static INSTANCE fields, because of difficulties with Wire serialization of enums 2016-06-24 17:49:34 +07:00
leventov fc6e2af7e4 Javadoc clarifications on recovery and entry checksums (#82) 2016-05-11 11:33:35 +01:00
Peter Lawrey 8ef1f1e647 Use updated BytesMarshallable with default implementations 2016-04-22 15:30:35 +01:00
leventov 733b8eb29e Merge branch 'master' of github.com:OpenHFT/Chronicle-Map 2016-04-18 18:04:57 +01:00
Peter Lawrey 35c721419c Fix a couple of API changes. 2016-04-17 19:36:06 +01:00
leventov 8dff07239f Merge branch 'master' of github.com:OpenHFT/Chronicle-Map 2016-04-15 19:21:20 +01:00