leventov
|
7f3cca96d2
|
Add ChronicleHashCorruption listening interface, and Beta annotation
|
2017-02-26 21:02:34 -06:00 |
|
leventov
|
b9893ffab7
|
Add ChronicleHashBuilder.createOrRecoverPersistedTo(file, sameLibraryVersion) method and emphasize in docs, that the boolean flag in the 'recoverPersistedTo' family of methods couldn't be true, if the version of the library, with which the Chronicle Map persisted to the given file was created, could be different from the present version of the Chronicle Map library
|
2017-02-19 22:02:38 -06:00 |
|
leventov
|
59a2cd8d80
|
Don't overwrite Chronicle Map header, if it's checksum is correct
|
2017-02-19 21:21:46 -06:00 |
|
leventov
|
8f9de993d0
|
Catch Throwable instead of Exception and convert to ChronicleHashRecoveryFailedException in ChronicleMapBuilder.openWithExistingFile()
|
2017-02-19 20:19:33 -06:00 |
|
leventov
|
c90e065e71
|
Ensure compatibility with 3.12 and Chronicle Maps created with Integer key, add ChronicleMap3_12IntegerKeyCompatibilityTest
|
2017-02-19 17:20:09 -06:00 |
|
leventov
|
d31d974e2e
|
Update to chronicle-algorithms 1.1.8 with a bug fix and add NegativeIntegerKeyTest
|
2017-02-18 15:02:52 -06:00 |
|
leventov
|
7c57d67266
|
More specific Javadoc for ChronicleHashBuilder.aligned64BitMemoryOperationsAtomic()
|
2017-01-21 15:57:05 -06:00 |
|
leventov
|
1c600120a5
|
Update chronicle-bom and third-party-bom dependencies to the latest versions
|
2017-01-07 19:52:30 +08:00 |
|
leventov
|
8875a94dc6
|
Copy VanillaGlobalMutableState29425Native and ReplicatedGlobalMutableState29425Native into source tree to practically improve user experience in OSGi/container/module environments until Chronicle Values learn how to generate classes in compile time
|
2016-12-27 16:03:48 +07: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
|
4bb2decc34
|
Make OldDeletedCleanupThread daemon and don't wait for this thread to cease in ReplicatedChronicleMap.close(), because if the thread is already dead by the time cleanupThread.join() is called, this call hangs
|
2016-12-26 14:27:32 +08:00 |
|
leventov
|
dad7313bf4
|
Remove unused VanillaChronicleHash.doClose()
|
2016-12-11 17:02:24 -06: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
|
0ca612ee6d
|
Fix ChronicleMap leak through Closeable in ChronicleMapBuilder.establishCleanupThread()
|
2016-12-10 23:19:43 -06:00 |
|
leventov
|
fafc50f89d
|
Close wrapped value after each iteration in MapSegmentIteration
|
2016-12-10 21:03:20 -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
|
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
|
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
|
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 |
|