-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
elasticsearch: use backpressure to resolve streaming request flakes #3236
Conversation
CI failed with the same cause in another test. 😅 Let me fix that too, after lunch. 😄 |
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/ElasticsearchStorage.java
Outdated
Show resolved
Hide resolved
Finally, it succeeded. 😅 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks I like the green color a lot!
Can you help with comments to ensure I understand?
Also, is it temporary that we have to check the isEndOfStream flag? EG, could armeria do that internally? If so, possibly mark an issue in a comment so we don't forget?
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/client/HttpCall.java
Outdated
Show resolved
Hide resolved
...n-server/src/test/java/zipkin2/server/internal/elasticsearch/ITElasticsearchHealthCheck.java
Outdated
Show resolved
Hide resolved
@adriancole Do you have a chance to rebuild this a couple of times? 😅 |
I clicked rebuild.. you can also rebase into one commit off latest master and force push your branch. pretty confident so far |
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/client/HttpCall.java
Outdated
Show resolved
Hide resolved
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/client/HttpCall.java
Outdated
Show resolved
Hide resolved
OK will merge on last green. the comment editing should show this is all working :D Massive thanks @minwoox! |
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/client/HttpCall.java
Outdated
Show resolved
Hide resolved
if you don't mind, rebase and squash onto latest master. not a big deal if can't |
After I merged the master, I got this error while building |
in I corrected the problematic license in master, but you can run it again after rebase anyway. |
Let me merge master again, then. 😄 |
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/BulkCallBuilder.java
Show resolved
Hide resolved
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/BulkCallBuilder.java
Outdated
Show resolved
Hide resolved
Let me fix this #3239 in different PR. |
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/BulkCallBuilder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exciting! If you have some time, lets get all 1.2 related in the same bucket?
wanna remove some of the log hushing in zipkin-server-shared.yml
now?
- (not sure which are needed anymore)
and maybe the TRACE workaround in ZipkinHttpConfiguration
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/internal/BulkCallBuilder.java
Outdated
Show resolved
Hide resolved
I left a comment on this. 😄 #3236 (comment) |
|
...-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/internal/client/HttpCallTest.java
Outdated
Show resolved
Hide resolved
If I'm reading this correctly, #3557 PR - Has a dependency on this to fix #3197 @minwoox @jcchavezs |
currently looking at renovating this one |
The `HttpResponse` was sent before the request are fully sent. So the request was aborted after getting the response. We should change to send the response after the request is fully received. - close openzipkin#3197 Signed-off-by: Adrian Cole <adrian@tetrate.io>
d12b268
to
561de8a
Compare
ok 🤞 salvaging a three year old change! |
@@ -47,26 +50,36 @@ public class ITElasticsearchHealthCheck { | |||
|
|||
static final SettableHealthChecker server1Health = new SettableHealthChecker(true); | |||
|
|||
static { | |||
// Gives better context when there's an exception such as AbortedStreamException | |||
System.setProperty("com.linecorp.armeria.verboseExceptions", "always"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
already in log config, but also we weren't getting exceptions ;)
The
HttpResponse
was sent before the request are fully sent.So the request was aborted after getting the response. This changes
to send the response after the request is fully received.
Fixes #3197