Skip to content

Conversation

@bharatviswa504
Copy link
Contributor

  1. In this Jira added double buffer implementation. (Not integrated to OM, this will be done in further jira's)
  2. Added a few response classes to give an idea, how this will be integrated with OM.

@bharatviswa504 bharatviswa504 self-assigned this May 9, 2019
@bharatviswa504
Copy link
Contributor Author

cc @anuengineer (I am not able to add you in reviewer, tagging here to notify about this)

Copy link
Member

@jiwq jiwq left a comment

Choose a reason for hiding this comment

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

Some nits:

  • The license should be the same with other exists file.
  • Should better add blank line at the end of file.
  • Need to delete the redundancy blank line.

@bharatviswa504
Copy link
Contributor Author

Thank You @jiwq for the review.
I have addressed your review comments.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 103 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 515 trunk passed
+1 compile 212 trunk passed
+1 checkstyle 53 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 896 branch has no errors when building and testing our client artifacts.
+1 javadoc 130 trunk passed
0 spotbugs 237 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 433 trunk passed
-0 patch 264 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 408 the patch passed
+1 compile 199 the patch passed
+1 javac 199 the patch passed
+1 checkstyle 54 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 1 The patch has no whitespace issues.
+1 shadedclient 687 patch has no errors when building and testing our client artifacts.
+1 javadoc 118 the patch passed
+1 findbugs 428 the patch passed
_ Other Tests _
-1 unit 160 hadoop-hdds in the patch failed.
-1 unit 1794 hadoop-ozone in the patch failed.
+1 asflicense 43 The patch does not generate ASF License warnings.
6309
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestBlockOutputStream
hadoop.ozone.client.rpc.TestContainerStateMachineFailures
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/4/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 55df0f9aa4c8 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 389e640
Default Java 1.8.0_191
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/4/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/4/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/4/testReport/
Max. process+thread count 5061 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/4/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 31 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 425 trunk passed
+1 compile 195 trunk passed
+1 checkstyle 54 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 891 branch has no errors when building and testing our client artifacts.
+1 javadoc 122 trunk passed
0 spotbugs 239 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 425 trunk passed
-0 patch 266 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 390 the patch passed
+1 compile 198 the patch passed
+1 javac 198 the patch passed
+1 checkstyle 56 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 719 patch has no errors when building and testing our client artifacts.
+1 javadoc 121 the patch passed
+1 findbugs 438 the patch passed
_ Other Tests _
-1 unit 144 hadoop-hdds in the patch failed.
-1 unit 1160 hadoop-ozone in the patch failed.
+1 asflicense 34 The patch does not generate ASF License warnings.
6571
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/5/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 13d73a260870 4.4.0-139-generic #165~14.04.1-Ubuntu SMP Wed Oct 31 10:55:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 389e640
Default Java 1.8.0_191
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/5/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/5/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/5/testReport/
Max. process+thread count 4791 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/5/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@elek
Copy link
Member

elek commented May 14, 2019

/retest

Copy link
Contributor

@linyiqun linyiqun left a comment

Choose a reason for hiding this comment

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

Two minors review comments, please have a look, @bharatviswa504

Copy link
Contributor

Choose a reason for hiding this comment

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

I prefer to separate the daemon thread from the OM double buffer, so that this class will be more flexible to use.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Your suggestion here is to Make Deamon thread logic in a separate class, and instantiate that class in OMDoubleBuffer and start the thread in OMDoubleBuffer?

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually I mean not to start flushTransactions thread in OMDoubleBuffer. It's would be better to let the caller of function flushTransactions outside of the class OMDoubleBuffer. How the flush transactions behavior should be triggered by outside not by itself I think.

Copy link
Contributor Author

@bharatviswa504 bharatviswa504 May 17, 2019

Choose a reason for hiding this comment

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

My thought process of doing this way is, background flush will be continuously happening if currentBuffer has any entries so that we don't wait for the buffer to be full. So, that when a restart happens we don't need to apply the transactions again to OM DB. And in this way we keep disks busy.

In the other way as suggested if we do, when the buffer is full, swap and start flush, and keep further transactions adding to the currentBuffer, but if flush is taking much time, and this buffer happened to be full, we should wait until the first flush to be completed, and we might block all further transactions.

Copy link
Contributor

Choose a reason for hiding this comment

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

Why not make this bounded and have a force sync function like edits double buffer did? Unbounded queue is uncontrollable, we might pass the init buffer size as a bounded value.

Copy link
Contributor Author

@bharatviswa504 bharatviswa504 May 16, 2019

Choose a reason for hiding this comment

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

I have added using the bounded buffer as TODO.
So your suggestion is in add check if it is full have a flush() and then add to buffer?
If we do this way that will penalize the transaction where when buffer is full, we need to wait for ongoing flush to be completed and then add this entry in to buffer. And also this will block all further requests received after buffer is full.

Let me know if I am missing something here?

Copy link
Contributor

Choose a reason for hiding this comment

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

We can setReadyBuffer if we check the buffer if full, so this will not block requests long time. Then background will flush ready buffer. Only when the ready buffer is flushing meanwhile current buffer is full, the request will be blocked.

Copy link
Contributor Author

@bharatviswa504 bharatviswa504 May 17, 2019

Choose a reason for hiding this comment

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

We can setReadyBuffer if we check the buffer if full, so this will not block requests long time. Then background will flush ready buffer. Only when the ready buffer is flushing meanwhile current buffer is full, the request will be blocked.

One disadvantage I see is if flush is taking a too long time, and currentBuffer can grow very high and may cause OOM. So, if we use a fixed size buffer we might not see but we will block further transactions.

Copy link
Contributor

Choose a reason for hiding this comment

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

I can see the tradeoffs of both approaches. Why don't benchmark this and see the maximum length this queue grows under load?. One suggestion based on @linyiqun thought is that it would be good to have a counter to see the max length of this queue. So we can at least identify and track this issue if it really pops up in the field.

Copy link
Contributor

Choose a reason for hiding this comment

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

The unbounded nature will be a problem only if the disk is really slow i.e. flush call blocks. Since we are always having a flush operation outstanding.

So the tradeoff is unbounded queue vs blocking RPC handlers. I am okay with unbounded queue to start with.

Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Since the Error handler is same you can put both addToRockDB and commitBatchOperation in a single try block and follow with the exception block, do change the error message to be more specific and leave the code as is.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added this try because it is running inside forEach.
Modified the logic, and moved common code to a new function.

Copy link
Contributor

@anuengineer anuengineer May 18, 2019

Choose a reason for hiding this comment

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

Nit: Should we make this a Debug instead of info. There will be many in OM. But on the other hand, this might be ok, not sure. @arp7 What do think ? will this flood the logs and slow us down? Based on Namenode experience what would be your call?

Copy link
Contributor

Choose a reason for hiding this comment

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

Agreed, this should be a debug log.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor

Choose a reason for hiding this comment

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

I can see the tradeoffs of both approaches. Why don't benchmark this and see the maximum length this queue grows under load?. One suggestion based on @linyiqun thought is that it would be good to have a counter to see the max length of this queue. So we can at least identify and track this issue if it really pops up in the field.

Copy link
Contributor

Choose a reason for hiding this comment

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

@bharatviswa504 why is this change a part of the DoubleBuffer patch? This patch should just introduce the DoubleBuffer.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added them for testing purpose to test DoubleBuffer Implementation.
Actual usage and the classes will be changed further according to needs of HA in further Jira.

In this PR #827 handled bucket related operations.

Copy link
Contributor

Choose a reason for hiding this comment

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

Same here. This should be moved to a subsequent patch right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added them for testing purpose to test DoubleBuffer Implementation.
Actual usage and the classes will be changed further according to needs of HA in further Jira.

In this PR #827 handled bucket related operations.

Copy link
Contributor

@arp7 arp7 left a comment

Choose a reason for hiding this comment

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

Still reviewing, a few early comments.

Copy link
Contributor

Choose a reason for hiding this comment

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

Agreed, this should be a debug log.

Copy link
Contributor

Choose a reason for hiding this comment

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

@bharatviswa504 can you add a slightly more descriptive comment. Maybe 3-4 lines on the purpose of the double buffer and some high level implementation note.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add a short description of this flag?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we don't need this flag, as sync to DB is also happening in the same thread.
Removed the usage of the flag.

Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like this is spinning the CPU in a tight loop. It should wait until the current flush completes.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Flushing to disk is happening this while loop, so during flush, this while loop will not be iterating.

Copy link
Contributor

Choose a reason for hiding this comment

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

We will spin in a tight loop otherwise E.g. when system is idle. That will consume CPU and power. It will be better to use a wait and notify model.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done. Updated the code to use wait, notify.

Copy link
Contributor

Choose a reason for hiding this comment

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

We should not assume we are using RocksDB here. We may need to update the function name to addToDbBatch.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated the method name to addToDbBatch as suggested.

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's discuss the synchronization. It probably needs to be fixed.

@bharatviswa504 bharatviswa504 force-pushed the HDDS-1512 branch 3 times, most recently from f9c7a98 to 4719943 Compare May 21, 2019 19:31
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 64 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 572 trunk passed
+1 compile 275 trunk passed
+1 checkstyle 70 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 853 branch has no errors when building and testing our client artifacts.
+1 javadoc 142 trunk passed
0 spotbugs 331 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 532 trunk passed
-0 patch 378 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 540 the patch passed
+1 compile 307 the patch passed
+1 javac 307 the patch passed
+1 checkstyle 77 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 718 patch has no errors when building and testing our client artifacts.
+1 javadoc 165 the patch passed
+1 findbugs 581 the patch passed
_ Other Tests _
-1 unit 186 hadoop-hdds in the patch failed.
-1 unit 1535 hadoop-ozone in the patch failed.
+1 asflicense 44 The patch does not generate ASF License warnings.
6851
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/6/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux b87f9a979c66 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 5906268
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/6/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/6/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/6/testReport/
Max. process+thread count 4718 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/6/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bharatviswa504
Copy link
Contributor Author

Thank You @arp7 for the review and offline discussion.
Addressed the review comments.

@bharatviswa504
Copy link
Contributor Author

bharatviswa504 commented May 21, 2019

I can see the tradeoffs of both approaches. Why don't benchmark this and see the maximum length this queue grows under load?. One suggestion based on @linyiqun thought is that it would be good to have a counter to see the max length of this queue. So we can at least identify and track this issue if it really pops up in the field.

Thank You @anuengineer for the review.
Created HDDS-1579 to create metrics for OMDoubleBuffer. Will address this as part of a new jira. In t this jira only added to logging.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 83 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 850 trunk passed
+1 compile 354 trunk passed
+1 checkstyle 110 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 1158 branch has no errors when building and testing our client artifacts.
+1 javadoc 195 trunk passed
0 spotbugs 301 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 539 trunk passed
-0 patch 356 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 497 the patch passed
+1 compile 278 the patch passed
+1 javac 278 the patch passed
+1 checkstyle 83 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 770 patch has no errors when building and testing our client artifacts.
+1 javadoc 456 the patch passed
+1 findbugs 1236 the patch passed
_ Other Tests _
-1 unit 478 hadoop-hdds in the patch failed.
-1 unit 373 hadoop-ozone in the patch failed.
+1 asflicense 205 The patch does not generate ASF License warnings.
7876
Reason Tests
Failed junit tests hadoop.ozone.security.TestOzoneDelegationTokenSecretManager
hadoop.ozone.om.TestOzoneManagerLock
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/11/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 33142e87d779 4.4.0-143-generic #169~14.04.2-Ubuntu SMP Wed Feb 13 15:00:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / ef1cc72
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/11/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/11/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/11/testReport/
Max. process+thread count 1276 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/11/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bharatviswa504
Copy link
Contributor Author

/retest

@bharatviswa504
Copy link
Contributor Author

Test failures are not related to this patch

Copy link
Contributor

Choose a reason for hiding this comment

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

If multiple test methods are calling setup(), it should probably be a @Before method.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add a short javadoc to each method to summarize what it is testing? It is a little hard to understand what the test is doing from reading the code.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

Choose a reason for hiding this comment

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

Need javadoc here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's move tests which depend on OM response classes to a separate test class.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@bharatviswa504
Copy link
Contributor Author

Thank You @arp7 for the review.
Addressed review comments.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 41 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 527 trunk passed
+1 compile 279 trunk passed
+1 checkstyle 83 trunk passed
+1 mvnsite 1 trunk passed
+1 shadedclient 866 branch has no errors when building and testing our client artifacts.
+1 javadoc 152 trunk passed
0 spotbugs 287 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 480 trunk passed
-0 patch 327 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 464 the patch passed
+1 compile 253 the patch passed
+1 javac 253 the patch passed
+1 checkstyle 74 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 621 patch has no errors when building and testing our client artifacts.
+1 javadoc 147 the patch passed
+1 findbugs 514 the patch passed
_ Other Tests _
-1 unit 159 hadoop-hdds in the patch failed.
-1 unit 108 hadoop-ozone in the patch failed.
+1 asflicense 39 The patch does not generate ASF License warnings.
4951
Reason Tests
Failed junit tests hadoop.ozone.om.ratis.TestOzoneManagerDoubleBufferWithDummyResponse
hadoop.ozone.om.ratis.TestOzoneManagerDoubleBufferWithOMResponse
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/13/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux c001d3ecddda 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 6a0e7dd
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/13/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/13/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/13/testReport/
Max. process+thread count 413 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/13/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bharatviswa504
Copy link
Contributor Author

Test failures are fixed in the last commit. Now tests are passing.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 35 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 504 trunk passed
+1 compile 251 trunk passed
+1 checkstyle 65 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 794 branch has no errors when building and testing our client artifacts.
+1 javadoc 149 trunk passed
0 spotbugs 301 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 498 trunk passed
-0 patch 346 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 463 the patch passed
+1 compile 284 the patch passed
+1 javac 284 the patch passed
+1 checkstyle 92 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 690 patch has no errors when building and testing our client artifacts.
+1 javadoc 162 the patch passed
+1 findbugs 491 the patch passed
_ Other Tests _
-1 unit 163 hadoop-hdds in the patch failed.
-1 unit 1162 hadoop-ozone in the patch failed.
+1 asflicense 56 The patch does not generate ASF License warnings.
6047
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestBCSID
hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures
hadoop.ozone.container.common.impl.TestContainerPersistence
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/15/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 73434c5070d4 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 6a0e7dd
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/15/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/15/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/15/testReport/
Max. process+thread count 4869 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/15/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 33 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+1 mvninstall 504 trunk passed
+1 compile 274 trunk passed
+1 checkstyle 85 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 876 branch has no errors when building and testing our client artifacts.
+1 javadoc 163 trunk passed
0 spotbugs 285 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 469 trunk passed
-0 patch 351 Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 mvninstall 482 the patch passed
+1 compile 281 the patch passed
+1 javac 281 the patch passed
+1 checkstyle 93 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 677 patch has no errors when building and testing our client artifacts.
+1 javadoc 153 the patch passed
+1 findbugs 500 the patch passed
_ Other Tests _
-1 unit 149 hadoop-hdds in the patch failed.
-1 unit 1405 hadoop-ozone in the patch failed.
+1 asflicense 44 The patch does not generate ASF License warnings.
10855
Reason Tests
Failed junit tests hadoop.ozone.TestContainerOperations
hadoop.ozone.TestContainerStateMachineIdempotency
hadoop.ozone.TestMiniChaosOzoneCluster
hadoop.ozone.client.rpc.TestWatchForCommit
hadoop.ozone.container.common.impl.TestContainerPersistence
hadoop.ozone.client.rpc.TestBCSID
hadoop.ozone.web.client.TestKeys
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-810/14/artifact/out/Dockerfile
GITHUB PR #810
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 63f6212146ca 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 460ba7f
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/14/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-810/14/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-810/14/testReport/
Max. process+thread count 5333 (vs. ulimit of 5500)
modules C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-810/14/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@arp7
Copy link
Contributor

arp7 commented May 24, 2019

+1 LGTM.

@bharatviswa504
Copy link
Contributor Author

bharatviswa504 commented May 24, 2019

Thank You, everyone, for the review.
I will commit this shortly.

@linyiqun provided an explanation for doing this way. If you have any more comments, we can open new Jira and address them.

@bharatviswa504 bharatviswa504 merged commit 6d0e79c into apache:trunk May 24, 2019
shanthoosh pushed a commit to shanthoosh/hadoop that referenced this pull request Oct 15, 2019
Currently there was a bug when registering a timer with a very short amount of delay, it might not be invoked since it depends on the creation of the run loop. This patch fixed the problem by double checking the ready timers when run loop is created (listener is registered.)

Author: xinyuiscool <[email protected]>

Reviewers: Prateek M <[email protected]>

Closes apache#810 from xinyuiscool/SAMZA-1707
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants