epickrram
ef3e0bbe69
allow Byteable instances that have maxSize() determined at runtime
2017-07-10 10:27:40 +01:00
Peter Lawrey
4b8b232f0d
chronicle-bom 1.14.28-SNAPSHOT for all modules
2017-07-01 10:27:43 +01:00
Marc Strapetz
ffab7840dd
BigSegmentHeader: system property to specify LOCK_TIMEOUT_SECONDS
...
The default of 60 seconds may be too long if using Chronicle-Map in a
way that prevents real interprocess dead locks, i.e.
InterProcessDeadLockException can only be raised if a previous
Chronicle-Map process has been killed while holding a lock. In this
case, a timeout of e.g 5 seconds (or less) is sufficient to detect the
problem and possibly decide to invoke a recovery.
2017-06-06 19:42:43 +02:00
Marc Strapetz
957288bd5f
BigSegmentHeader: comment fixed
2017-06-06 19:38:33 +02:00
leventov
3e903775f9
Revert method and field reordering
2017-06-04 12:33:41 -05:00
leventov
5c8c50ba6b
Throw IllegalArgumentException in ConstantSizeMarshaller.writeSize(), if provided size is not equal to the constant size
2017-06-04 11:52:30 -05:00
leventov
88da33fc10
Doc fixes and mark ChronicleHashBuilder.create* methods which accept ChronicleHashCorruption.Listener as Beta
2017-06-04 11:52:30 -05:00
Peter Lawrey
ed8361b5cf
Add a fix for enums being written as marshallables.
2017-06-04 14:01:48 +01:00
leventov
3291a43c95
Use ThreadHints.onSpinWait() in BigSegmentHeader
2017-03-06 00:10:01 -06:00
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