leventov
|
b98a67211c
|
Optimize Integer, Long and Double default serializers
|
2016-03-04 22:44:26 +07:00 |
|
leventov
|
e677f07d46
|
Use Data.equivalent() method in KeySearch.keyEquals() (because it could be specialized to perform more efficiently), and switch arguments in Data.bytesEquivalent() usages, so that the first Data instance is more likely to optimized for comparison
|
2016-03-04 21:20:12 +07:00 |
|
leventov
|
08e21547a8
|
Optimize CharSequence, StringBuilder and String Chronicle Map's key or value type serialization
|
2016-03-04 21:19:56 +07:00 |
|
leventov
|
7fa9d23cd0
|
Remove unused serialVersionUID field
|
2016-03-04 13:29:11 +07:00 |
|
leventov
|
f2ccfca801
|
Specify query operations
|
2016-02-28 21:33:31 +07:00 |
|
leventov
|
dc4b578bef
|
Lock the segment on the write level right away in HashQuery.doRemove()
|
2016-02-28 21:32:11 +07:00 |
|
leventov
|
e37de00202
|
Reduce write lock scope as much as possible in relocation and remove operations
|
2016-02-26 20:55:47 +07:00 |
|
leventov
|
ed4589a1f4
|
Removed unused code from VanillaChronicleHash.basicRecover() method
|
2016-02-24 16:44:36 +07:00 |
|
leventov
|
1a275288b5
|
Removed excessive code from ReplicatedMapAbsent.doInsert() method
|
2016-02-24 16:43:14 +07:00 |
|
leventov
|
820573a684
|
Add method CompactOffHeapLinearHashTable.readEntryVolatile() method and use it during key search
|
2016-02-20 16:38:59 +07:00 |
|
leventov
|
1ab147667d
|
Remove unused methods in CompactOffHeapLinearHashTable and HashLookupPos
|
2016-02-20 16:13:27 +07:00 |
|
leventov
|
7b55f3aefd
|
Pull nextTierIndex field from tier counters area to segment header
|
2016-02-20 15:43:46 +07:00 |
|
leventov
|
a3c83e1c4a
|
Require update lock level for checking entry checksum
|
2016-02-17 17:50:30 +07:00 |
|
leventov
|
4b58d21953
|
Refactor MapQuery.putPrefix() method
|
2016-02-17 17:14:39 +07:00 |
|
leventov
|
3594027fb5
|
Add HashEntryStages.closeEntry()
|
2016-02-17 16:55:15 +07:00 |
|
leventov
|
7293e5d7bb
|
Remove REMOVED query state to reduce complexity
|
2016-02-16 20:40:47 +07:00 |
|
leventov
|
94af186ff5
|
Don't call MapEntryStages.readExistingEntry() until the key is found in initKeySearch() method
|
2016-02-16 20:40:45 +07:00 |
|
Roman Leventov
|
a24c500bc7
|
Merge pull request #71 from DevFactory/release/default-encoding-should-not-be-used
Code quality fix - Classes and methods that rely on the default system encoding should not be used.
|
2016-02-16 18:27:05 +07:00 |
|
leventov
|
05ccde9671
|
Add dataStoreSize field to Chronicle Map's global mutable state
|
2016-02-13 21:27:30 +07:00 |
|
leventov
|
e5c37a1e8f
|
Update dependencies
|
2016-02-13 21:22:14 +07:00 |
|
Roman Leventov
|
cfc9224d97
|
Merge pull request #70 from DevFactory/release/general-code-quality-fix-1
General code quality fix-1
|
2016-02-13 18:17:08 +07:00 |
|
leventov
|
f8776281e7
|
Make comment attribution more clear
|
2016-02-13 17:59:33 +07:00 |
|
Roman Leventov
|
57881bfdfa
|
Merge pull request #69 from DevFactory/release/collapsable-if-statements-should-be-merged
Code quality fix - Collapsible "if" statements should be merged.
|
2016-02-13 17:54:51 +07:00 |
|
Faisal Hameed
|
90ba1265ac
|
Fixing squid:S1943- Classes and methods that rely on the default system encoding should not be used.
|
2016-02-12 10:25:45 +05:00 |
|
Faisal Hameed
|
efd3e1f05a
|
Fixing squid:S1066- Collapsible "if" statements should be merged.
|
2016-02-12 10:12:13 +05:00 |
|
Faisal Hameed
|
ae058cdcbf
|
Fixing squid:S1201- Methods named "equals" should override Object.equals(Object)
|
2016-02-12 09:50:37 +05:00 |
|
Faisal Hameed
|
06e3522d4a
|
Fixing squid:S1596,squid:LowerCaseLongSuffixCheck
|
2016-02-12 09:45:35 +05:00 |
|
leventov
|
31d362fe2f
|
Use OS.pageSize() instead of 4096 constant in ChronicleMapBuilder.segmentHeaderSize() method
|
2016-02-10 23:00:33 +07:00 |
|
leventov
|
6b030ab44e
|
Refactor VanillaChronicleHash.allocateTier() method
|
2016-02-10 22:59:38 +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
|
01f15fb9b1
|
Fix msync JNA implementations and add SimplePersistedMapOverflowTest
|
2016-02-05 16:35:46 +07:00 |
|
leventov
|
299cd8341c
|
HCOLL-397 msync before pointing to newly created tier bulk in the header
|
2016-01-31 21:16:42 +07:00 |
|
leventov
|
8891626bb2
|
Don't force writing the memory to disk in VanillaChronicleHash.close(), release the virtual memory instead
|
2016-01-31 19:10:18 +07:00 |
|
leventov
|
0d93fb1d22
|
Rename VanillaChronicleHash.tierHashLookupEntrySize field to tierHashLookupSlotSize, update the memory layout specification, and key hashing and checksum algorithms specification
|
2016-01-30 19:20:50 +07:00 |
|
leventov
|
040a8d69b6
|
Simplify entry checksum computation for not replicated ChronicleSet
|
2016-01-30 17:10:33 +07:00 |
|
leventov
|
69337322ee
|
Simplify VanillaChronicleHash.roundUpMapHeaderSize() because rational behind former complexity (considering buffering in Map header serializer) is 1) gone (because BinaryWire is used instead of built-in serialization 2) was incorrect anyway, because rounding up doesn't prevent problems with buffering
|
2016-01-21 15:13:29 +03:00 |
|
leventov
|
0ee9b64978
|
Rename VanillaChronicleHash.segmentSize() to tierSize()
|
2016-01-20 21:56:36 +03:00 |
|
leventov
|
72ba0e4d57
|
Move HashSplitting.Splitting.forSegments() method to HashSplitting interface, because interfaces could contain static methods since Java 8
|
2016-01-19 18:36:28 +03:00 |
|
leventov
|
b06c64a47c
|
Don't serialize HashSplitting$ForPowerOf2Segments.mask field
|
2016-01-19 18:34:09 +03:00 |
|
leventov
|
bb22985d9c
|
Remove entriesPerSegment field from VanillaChronicleHash
|
2016-01-19 14:17:38 +03:00 |
|
leventov
|
8055a8b1ae
|
Make private BigSegmentHeader's methods static
|
2016-01-18 17:39:55 +03:00 |
|