You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@iotdb.apache.org by GitBox <gi...@apache.org> on 2021/02/04 03:08:17 UTC

[GitHub] [iotdb] neuyilan opened a new pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

neuyilan opened a new pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623


   for more details, please see https://issues.apache.org/jira/browse/IOTDB-1147
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [iotdb] jixuan1989 commented on a change in pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

Posted by GitBox <gi...@apache.org>.
jixuan1989 commented on a change in pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623#discussion_r571352447



##########
File path: server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
##########
@@ -136,10 +136,8 @@ public void registerTsFileProcessor(TsFileProcessor tsFileProcessor) {
       if (LOGGER.isDebugEnabled()) {
         if (tsFileProcessor.isManagedByFlushManager()) {
           LOGGER.debug(
-              "{} is already in the flushPool, the first one: {}, the given processor flushMemtable number = {}",
+              "{} is already in the flushPool, the given processor flushMemtable number = {}",
               tsFileProcessor.getTsFileResource().getTsFile().getAbsolutePath(),
-              tsFileProcessorQueue.isEmpty() ? "empty now"
-                  : tsFileProcessorQueue.getFirst().getStorageGroupName(),
               tsFileProcessor.getFlushingMemTableSize());

Review comment:
       before line 126 or line 125?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [iotdb] sonarcloud[bot] commented on pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

Posted by GitBox <gi...@apache.org>.
sonarcloud[bot] commented on pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623#issuecomment-773002335


   SonarCloud Quality Gate failed.
   
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug.png' alt='Bug' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=BUG) [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/C.png' alt='C' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=BUG) [2 Bugs](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=BUG)  
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability.png' alt='Vulnerability' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=VULNERABILITY) [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A.png' alt='A' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=VULNERABILITY)  
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot.png' alt='Security Hotspot' width='16' height='16' />](https://sonarcloud.io/project/security_hotspots?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=SECURITY_HOTSPOT) [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A.png' alt='A' width='16' height='16' />](https://sonarcloud.io/project/security_hotspots?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=SECURITY_HOTSPOT)  
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell.png' alt='Code Smell' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=CODE_SMELL) [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A.png' alt='A' width='16' height='16' />](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=CODE_SMELL) [1 Code Smell](https://sonarcloud.io/project/issues?id=apache_incubator-iotdb&pullRequest=2623&resolved=false&types=CODE_SMELL)
   
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/0.png' alt='17.4%' width='16' height='16' />](https://sonarcloud.io/component_measures?id=apache_incubator-iotdb&pullRequest=2623&metric=new_coverage&view=list) [17.4% Coverage](https://sonarcloud.io/component_measures?id=apache_incubator-iotdb&pullRequest=2623&metric=new_coverage&view=list)  
   [<img src='https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3.png' alt='0.7%' width='16' height='16' />](https://sonarcloud.io/component_measures?id=apache_incubator-iotdb&pullRequest=2623&metric=new_duplicated_lines_density&view=list) [0.7% Duplication](https://sonarcloud.io/component_measures?id=apache_incubator-iotdb&pullRequest=2623&metric=new_duplicated_lines_density&view=list)
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [iotdb] neuyilan commented on a change in pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

Posted by GitBox <gi...@apache.org>.
neuyilan commented on a change in pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623#discussion_r571520015



##########
File path: server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
##########
@@ -136,10 +136,8 @@ public void registerTsFileProcessor(TsFileProcessor tsFileProcessor) {
       if (LOGGER.isDebugEnabled()) {
         if (tsFileProcessor.isManagedByFlushManager()) {
           LOGGER.debug(
-              "{} is already in the flushPool, the first one: {}, the given processor flushMemtable number = {}",
+              "{} is already in the flushPool, the given processor flushMemtable number = {}",
               tsFileProcessor.getTsFileResource().getTsFile().getAbsolutePath(),
-              tsFileProcessorQueue.isEmpty() ? "empty now"
-                  : tsFileProcessorQueue.getFirst().getStorageGroupName(),
               tsFileProcessor.getFlushingMemTableSize());

Review comment:
       Thank you all, I've reorganized the debug logs. PTAL




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [iotdb] qiaojialin merged pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

Posted by GitBox <gi...@apache.org>.
qiaojialin merged pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [iotdb] qiaojialin commented on a change in pull request #2623: [IOTDB-1147] Fix the concurrent bug in FlushManager cause NoSuchElementException e…

Posted by GitBox <gi...@apache.org>.
qiaojialin commented on a change in pull request #2623:
URL: https://github.com/apache/iotdb/pull/2623#discussion_r571349059



##########
File path: server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
##########
@@ -136,10 +136,8 @@ public void registerTsFileProcessor(TsFileProcessor tsFileProcessor) {
       if (LOGGER.isDebugEnabled()) {
         if (tsFileProcessor.isManagedByFlushManager()) {
           LOGGER.debug(
-              "{} is already in the flushPool, the first one: {}, the given processor flushMemtable number = {}",
+              "{} is already in the flushPool, the given processor flushMemtable number = {}",
               tsFileProcessor.getTsFileResource().getTsFile().getAbsolutePath(),
-              tsFileProcessorQueue.isEmpty() ? "empty now"
-                  : tsFileProcessorQueue.getFirst().getStorageGroupName(),
               tsFileProcessor.getFlushingMemTableSize());

Review comment:
       Thanks for bringing this up. Relook this process may have other problems...
   
   Current thread setManagedByFlushManager(true).
   FlushThread flush a memtable and setManagedByFlushManager(false)
   Current thread check tsfileProcessor.isManagedByFlushManager() return false
   
   So, it's better to put all logs before submit(FlushThread)   line 126.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org