Commit Graph
230 Commits
Author SHA1 Message Date
epickrram 0201c6ae2c remove comments 2017-07-10 11:11:02 +01:00
epickrram ef3e0bbe69 allow Byteable instances that have maxSize() determined at runtime 2017-07-10 10:27:40 +01:00
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 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 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 0ca612ee6d Fix ChronicleMap leak through Closeable in ChronicleMapBuilder.establishCleanupThread() 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 406bd59848 Remove VanillaChronicleHash from OnExitHook on close() 2016-11-05 17:19:07 -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 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 8981ae2fd0 More comments in ChronicleMapBuilder 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 4bcdcdb8ce Update license information 2016-07-22 15:05:04 +07:00
Peter Lawrey b90ebc3b39 Fix up some tests broken from a tidy up of exceptions. 2016-04-15 13:09:59 +01:00
Peter Lawrey ffff33bed1 Reduce Thread.sleep to Jvm.pause, delays >= 1s to 500 ms, and remove "throws Exception" from tests 2016-04-12 12:08:14 +01:00
Peter Lawrey ceab61fd85 Rename Not Ready to Not Complete. Support reading Not COmplete messages unless being read from shared memory. 2016-04-12 11:39:23 +01:00
leventov 739796b90d Improve documentation 2016-03-23 20:09:43 +07:00
leventov e081cb87ba Update Chronicle-Values dependency and try to check if some interface is a valueInterface before attempting to generate implementations 2016-03-12 21:33:23 +07:00
leventov 05ccde9671 Add dataStoreSize field to Chronicle Map's global mutable state 2016-02-13 21:27:30 +07:00
leventov 31d362fe2f Use OS.pageSize() instead of 4096 constant in ChronicleMapBuilder.segmentHeaderSize() method 2016-02-10 23:00:33 +07:00
leventov d7ed5b0153 Simplify parameter flow on VanillaChronicleHash initialization 2016-02-09 15:03:34 +07:00
leventov e2ec9db371 Register Chronicle Map's randomAccessFile cleaner only after all creation/recovery procedures complete, to avoid double release 2016-02-09 14:57:44 +07:00
leventov 001b710084 Raise IOException or ChronicleHashRecoveryFailed exception instead of generic RuntimeException in VanillaChronileHash.initBeforeMapping() method 2016-02-09 14:46:18 +07:00
leventov 189d40d1ca Don't write Chronicle Map ready bit into the header if the Map has just been read from disk without recovery 2016-02-09 14:35:06 +07:00
leventov 00819bff66 Use canonical RandomAccessFiles (=> FileChannels, too) to guarantee fileLocks are not released during critical operation, because some concurrent thread closes fileChannel on different instance of a map 2016-02-07 19:59:47 +07:00
leventov 64cf485b92 Reduce file locking synchronization scope 2016-02-07 19:04:40 +07:00
leventov be58427a9f Synchronize ChronicleMap creation persisted to some file within JVM 2016-02-05 21:47:46 +07:00
leventov e760af06d5 Make recovery procedure to be able to recovery Chronicle Map files with readiness bit not reached the disk 2016-02-05 19:55:10 +07:00
leventov 69638baf04 Use TextWire instead of BinaryWire for Chronicle Map's self-bootstrapping header encoding 2016-02-05 17:11:19 +07:00
leventov 7b9ccac147 Align persisted Chronicle Map creation with Size Prefixed Blob and Self-Bootstrapping Header specifications 2016-02-05 16:46:12 +07:00
leventov 56e5e93388 Hide the remaining parts of the replication API from the public eye 2016-01-17 17:08:13 +03:00
leventov d8a8a3c319 Add ChronicleHashBuilder.createOrRecoverPeristedTo() method 2016-01-17 16:03:55 +03:00
leventov dd4c2f67d8 Remove replication frontend implementation in favor of Chronicle Engine 2016-01-15 22:19:52 +03:00
leventov 85939d6335 Use shortcut ChronicleMapBuilder API in Issue58 2016-01-10 20:51:01 +03:00
leventov 021d77e973 HCOLL-423 throw IllegalStateException if averageKeySize() or averageKey() is called when size is statically known 2016-01-09 19:08:17 +03:00
leventov 97e4c12de1 HCOLL-378 #36 Add ChronicleHashBuilder.recoverPersistedTo() and ChronicleHashInstanceBuilder.recover() functionality 2016-01-04 23:24:39 +03:00
leventov 1221f11097 Make TimeProvider non-extensible and non-configurable; Fix a bug in
ReplicatedQueryAlloc.CleanupAction
2015-12-27 21:32:26 +03:00
leventov 1743f1c694 Replication updates with local identifier shouldn't use the same timestamp, because this allows two different updates which replace each other on different nodes, and don't converge. Extend default TimeProvider precision to nanoseconds, to exclude possibility of 'microsecond overflow' on frequent changes to the same entry 2015-12-26 17:28:35 +03:00
leventov 0ead52335b Don't force cleanup deleted entries on alloc, if it is disabled in this ReplicatedChronicleMap 2015-12-25 20:39:43 +03:00
leventov defaa6e7db More clarity with rounding and double -> long conversions in ChronicleMapBuilder 2015-12-22 17:23:32 +03:00
leventov 832ab5c5da Fix CMUseCasesTest.testMapStringIntegerValueWithoutListMarshallers() 2015-12-22 17:22:42 +03:00