Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 6924: Failure in system test for io.pravega.test.system.LargeEventTest.largeEventSimpleTest #6955

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

RaulGracia
Copy link
Contributor

@RaulGracia RaulGracia commented Nov 17, 2022

Change log description
Removed pipelining of writes in LargeEventWriter as it sometimes leads to block the writer.

Purpose of the change
Fixes #6924.

What the code does
Removed pipelining of writes in LargeEventWriter as it sometimes leads to block the writer. Now, the writer waits for each 8MB append future to be completed to write the next one.

How to verify it
Failing system test consistently passes with this change.

Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
Signed-off-by: Raúl Gracia <raul.gracia@emc.com>
@codecov
Copy link

codecov bot commented Nov 17, 2022

Codecov Report

Base: 86.34% // Head: 86.34% // Increases project coverage by +0.00% 🎉

Coverage data is based on head (aca98ca) compared to base (8a66db8).
Patch coverage: 81.81% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #6955   +/-   ##
=========================================
  Coverage     86.34%   86.34%           
+ Complexity    15910    15907    -3     
=========================================
  Files          1027     1027           
  Lines         59273    59253   -20     
  Branches       5997     5995    -2     
=========================================
- Hits          51180    51163   -17     
  Misses         4955     4955           
+ Partials       3138     3135    -3     
Impacted Files Coverage Δ
...o/pravega/client/stream/impl/LargeEventWriter.java 85.54% <81.81%> (+3.01%) ⬆️
...hared/security/crypto/StrongPasswordProcessor.java 87.50% <0.00%> (-6.25%) ⬇️
...ga/controller/store/client/StoreClientFactory.java 81.81% <0.00%> (-2.28%) ⬇️
...a/segmentstore/server/logs/OperationProcessor.java 90.35% <0.00%> (-1.43%) ⬇️
...server/containers/ContainerEventProcessorImpl.java 87.20% <0.00%> (-1.17%) ⬇️
...o/pravega/client/stream/impl/ReaderGroupState.java 93.12% <0.00%> (-0.37%) ⬇️
.../server/attributes/SegmentAttributeBTreeIndex.java 90.16% <0.00%> (+0.27%) ⬆️
...gmentstore/storage/metadata/BaseMetadataStore.java 96.86% <0.00%> (+0.28%) ⬆️
.../segmentstore/server/containers/MetadataStore.java 88.18% <0.00%> (+0.42%) ⬆️
...tore/server/containers/StreamSegmentContainer.java 89.43% <0.00%> (+0.43%) ⬆️
... and 2 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

Copy link
Member

@tkaitchuck tkaitchuck left a comment

Choose a reason for hiding this comment

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

It may be the case that there is some deeper error here. We should keep looking into the issue because it may affect the normal append path as well.

val reply = client.sendRequest(requestId, request);
failFast(futures, created.getSegment());
futures.add(reply);
// Wait for Appends to complete. Writing in parallel Appends that are expected to be sequential does not help.
Copy link
Member

Choose a reason for hiding this comment

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

This isn't at all true. We support append pipelining on both the client and the server. This will avoid round trips for each of them and allow them to be written sequentially with the client starting the next write as soon as the previous has finished.

Please restore the failfast/join at the end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Failure in system test for io.pravega.test.system.LargeEventTest.largeEventSimpleTest
2 participants