Tvlist feat new#14616
Merged
jt2594838 merged 56 commits intoapache:force_ci/split_chunkfrom Feb 7, 2025
Merged
Conversation
* change some list to array * remember row count in tvlist iterator
* memory control of column access
jt2594838
approved these changes
Jan 9, 2025
...rc/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/ResourceByPathUtils.java
Outdated
Show resolved
Hide resolved
...main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
Show resolved
Hide resolved
...main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
Show resolved
Hide resolved
...main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
Show resolved
Hide resolved
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/TVList.java
Outdated
Show resolved
Hide resolved
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/TVList.java
Show resolved
Hide resolved
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/TVList.java
Show resolved
Hide resolved
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/TVList.java
Outdated
Show resolved
Hide resolved
iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template
Outdated
Show resolved
Hide resolved
shizy818
commented
Jan 10, 2025
...de/src/main/java/org/apache/iotdb/db/utils/datastructure/MergeSortAlignedTVListIterator.java
Outdated
Show resolved
Hide resolved
* bitmap mark * sequence row count
68ce5ac to
11f376c
Compare
jt2594838
approved these changes
Jan 14, 2025
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
Outdated
Show resolved
Hide resolved
jt2594838
approved these changes
Jan 14, 2025
jt2594838
approved these changes
Jan 14, 2025
Contributor
Author
|
Write Performance Test Unaligned Series:
Aligned Series:
|
Contributor
Author
|
Write/Query mixed mode Unaligned Series:
|
Contributor
Author
|
Aligned Series:
|
Contributor
Author
|
When I use minimal heap to merge sort, it performs much better when there are a number of sorted tvlist ( tvlist_sort_threshold = 100). However it performs worse when there is only one tvlist (tvlist_sort_threshold = 0). Not sure if I should revert this change. |
HTHou
reviewed
Jan 22, 2025
| # Datatype: int | ||
| tvlist_sort_threshold=0 | ||
|
|
||
| # When the average point number of timeseries in memtable exceeds this, the memtable is flushed to disk. The default threshold is 100000. |
jt2594838
approved these changes
Feb 7, 2025
jt2594838
pushed a commit
that referenced
this pull request
Feb 21, 2025
* Split non_aligned charge text chunk * dev non_aligned * dev aligned chunk split * new type * dev aligned binary chunk split * Fix binary size calculatation * fix IT * update IoTDBDuplicateTimeIT.java * fix pipe IT * change method names * add ut * add UT * remove useless methods * fix UT * fix /FileReaderManagerTest * fix win UT * add binary test * Add Aligned UTs * fix win ut * improve coverage * fix comments * fix windows UT * fix review * fix review * fix review * target chunk size count non binary * fix compile * fix UT * Tvlist feat new (#14616) * null bitmap for int tvlist * update min/max timestamp and sequential part of tvlist during insert * mutable & immutable tvlists in writable memchunk * copy-on-write array list * review comments part 1 * fix unit test errors * review comments part 2 * push down global time filter * fix MemPageReaderTest case * fix memory page offsets error * synchronized sort & MergeSortTvListIterator bug * tvlist_sort_threshold config property * bug fix: * out of mempage bounds check * overlapped data error during query * optimize TVListIterator & MergeSortTvListIterator * retrofit encode when tvlist_sort_threshold is zero * delay sort & statistic generation to query execution * fix: skip deleted data during encode * aligned time series part * fix: MemAlignedChunkReader page offset * performance issue: * change some list to array * remember row count in tvlist iterator * fix: memory chunk reader may read more points than expected in one page * update chunk & page statistic for aligend memchunk by column * revert: getAlignedValueForQuery * fix: * CopyOnWriteArrayList for AlignedTVList bitmaps * memory control of column access * refactor: Tim/Quick/Backward TVList * refactor: synchronized tvlist method: sort, putXXX * refactor: change list to array in AlignedTVList iterator * revert: remove CopyOnWriteArrayList * refactor: clone MergeSort iterator from ReadOnlyChunk * fix: clone working tvlist during flush if there is query on it * fix: writable mem chunk flush conditions * refactor: add annotation and variable/function rename * fix: * remove delete method in BinaryTVList * filter deleted data in WritableMemChunk encode * fix: remove getSortedTvListForQuery in SeriesRegionScan * fix: TsFileProcessorTest unit test * fix: IoTDBNullIdQueryIT.noMeasurementColumnsSelectTest * fix: delete column of aligned time series * fix: aligned timeseries encode bug * fix: IoTDBGroupByNaturalMonthIT * remove avgSeriesPointNumberThreshold setting * fix: IoTDBDeleteAlignedTimeseriesIT & AlignedTVListTest * fix: Copy globalTimeFilter due to GroupByMonthFilter * reset tmpLength for backward sort * * fix TVList clear * bitmap mark * sequence row count * hot-load TVLIST_SORT_THRESHOLD * fix: isNullValue caller * fix unit test * refactor: abstract prepareTvListMapForQuery method * refactor: clear/clone/expand indices and bitmap * merge sort using min heap * fix: WritableMemChunk deserialize * feat: add index mem cost for TVList * fix: hot-load tvlist_sort_threshold setting * remove needless line in property template --------- Co-authored-by: shizy <shizy04@gmail.com>
HTHou
added a commit
that referenced
this pull request
Feb 25, 2025
* Split non_aligned charge text chunk * dev non_aligned * dev aligned chunk split * new type * dev aligned binary chunk split * Fix binary size calculatation * fix IT * update IoTDBDuplicateTimeIT.java * fix pipe IT * change method names * add ut * add UT * remove useless methods * fix UT * fix /FileReaderManagerTest * fix win UT * add binary test * Add Aligned UTs * fix win ut * improve coverage * fix comments * fix windows UT * fix review * fix review * fix review * target chunk size count non binary * fix compile * fix UT * Tvlist feat new (#14616) * null bitmap for int tvlist * update min/max timestamp and sequential part of tvlist during insert * mutable & immutable tvlists in writable memchunk * copy-on-write array list * review comments part 1 * fix unit test errors * review comments part 2 * push down global time filter * fix MemPageReaderTest case * fix memory page offsets error * synchronized sort & MergeSortTvListIterator bug * tvlist_sort_threshold config property * bug fix: * out of mempage bounds check * overlapped data error during query * optimize TVListIterator & MergeSortTvListIterator * retrofit encode when tvlist_sort_threshold is zero * delay sort & statistic generation to query execution * fix: skip deleted data during encode * aligned time series part * fix: MemAlignedChunkReader page offset * performance issue: * change some list to array * remember row count in tvlist iterator * fix: memory chunk reader may read more points than expected in one page * update chunk & page statistic for aligend memchunk by column * revert: getAlignedValueForQuery * fix: * CopyOnWriteArrayList for AlignedTVList bitmaps * memory control of column access * refactor: Tim/Quick/Backward TVList * refactor: synchronized tvlist method: sort, putXXX * refactor: change list to array in AlignedTVList iterator * revert: remove CopyOnWriteArrayList * refactor: clone MergeSort iterator from ReadOnlyChunk * fix: clone working tvlist during flush if there is query on it * fix: writable mem chunk flush conditions * refactor: add annotation and variable/function rename * fix: * remove delete method in BinaryTVList * filter deleted data in WritableMemChunk encode * fix: remove getSortedTvListForQuery in SeriesRegionScan * fix: TsFileProcessorTest unit test * fix: IoTDBNullIdQueryIT.noMeasurementColumnsSelectTest * fix: delete column of aligned time series * fix: aligned timeseries encode bug * fix: IoTDBGroupByNaturalMonthIT * remove avgSeriesPointNumberThreshold setting * fix: IoTDBDeleteAlignedTimeseriesIT & AlignedTVListTest * fix: Copy globalTimeFilter due to GroupByMonthFilter * reset tmpLength for backward sort * * fix TVList clear * bitmap mark * sequence row count * hot-load TVLIST_SORT_THRESHOLD * fix: isNullValue caller * fix unit test * refactor: abstract prepareTvListMapForQuery method * refactor: clear/clone/expand indices and bitmap * merge sort using min heap * fix: WritableMemChunk deserialize * feat: add index mem cost for TVList * fix: hot-load tvlist_sort_threshold setting * remove needless line in property template --------- Co-authored-by: shizy <shizy04@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Content1 ...
Content2 ...
Content3 ...
This PR has:
for an unfamiliar reader.
for code coverage.
Key changed/added classes (or packages if there are too many classes) in this PR