Skip to content

[IOTDB-1131]Improve wal by using differential logging#1869

Closed
jt2594838 wants to merge 30 commits intomasterfrom
improve_wal
Closed

[IOTDB-1131]Improve wal by using differential logging#1869
jt2594838 wants to merge 30 commits intomasterfrom
improve_wal

Conversation

@jt2594838
Copy link
Contributor

WALs may contain duplicated fields like deviceIds, measurementsId and data types. This PR aims to eliminate them to improve WAL performance when using small batchSize and without damaging the performance when using large batchSize.

Design:
Differential Logging.docx

Evaluation:
differentiation_logging.xlsx

# Conflicts:
#	server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
#	server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
#	server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
#	server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
#	server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
#	server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
fix log selection in log window
# Conflicts:
#	server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
#	server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
#	server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
#	server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
#	server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
#	server/src/main/java/org/apache/iotdb/db/utils/SerializeUtils.java
#	server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java
Copy link
Contributor

@SilverNarcissus SilverNarcissus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work and detailed design with analyze. Only have some small issues, please have a look~

# Conflicts:
#	server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
#	server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 5 Code Smells

No Coverage information No Coverage information
2.8% 2.8% Duplication

warning The version of Java (1.8.0_252) you have used to run this analysis is deprecated and we will stop accepting it soon. Please update to at least Java 11.
Read more here

Copy link
Contributor

@SilverNarcissus SilverNarcissus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look good to me~

@jixuan1989 jixuan1989 changed the title Improve wal by using differential logging [IOTDB-1131]Improve wal by using differential logging Jan 27, 2021
@jixuan1989
Copy link
Member

ping.

@HTHou
Copy link
Contributor

HTHou commented Sep 15, 2021

The conflicts fixed. The PR looks better now!

@coveralls
Copy link

coveralls commented Sep 15, 2021

Coverage Status

Coverage increased (+0.2%) to 67.526% when pulling faa8699 on improve_wal into 255bc61 on master.

@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug B 1 Bug
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 33 Code Smells

46.3% 46.3% Coverage
2.8% 2.8% Duplication

@HTHou HTHou closed this Sep 16, 2021
@HTHou HTHou deleted the improve_wal branch April 26, 2022 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants