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 |
|
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
|
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 |
|
Peter Lawrey
|
b90ebc3b39
|
Fix up some tests broken from a tidy up of exceptions.
|
2016-04-15 13:09:59 +01:00 |
|