Skip to content

Conversation

@mheath
Copy link
Contributor

@mheath mheath commented Jun 18, 2020

This PR adds:

  • A Log Cache client
  • A Rector implementation of the client
  • A test application for testing logging/metrics with Log Cache

The integration tests have been modified to:

  • Reuse the test service broker code for pushing the test-log-cache application
  • Create Spring Beans for the Log Cache client and test-log-cache metadata
  • Log Cache client tests
  • Immutables was enabled for the integration tests

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Jun 18, 2020

CLA Check
The committers are authorized under a signed CLA.

Copy link
Contributor

@twoseat twoseat left a comment

Choose a reason for hiding this comment

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

Sorry for the possible double-review, I was switching machines!

@mheath mheath force-pushed the log-cache-client branch from 4f67b89 to 19340f0 Compare June 22, 2020 21:38
@mheath
Copy link
Contributor Author

mheath commented Jun 22, 2020

@twoseat I've made all the changes you suggested. Thanks for being so thorough.

Let me know if you're still seeing intermittent integration test failures. I've run the integration tests 4 or 5 times against my test environment today and haven't seen any Log Cache test failures.

@twoseat
Copy link
Contributor

twoseat commented Jun 29, 2020

Picked this up again (sorry for the delay, wrestling with a PR!) and I'm afraid I am still seeing intermittent failures on readCounter. The error I see is:

java.lang.AssertionError: expectation failed (failed running expectation on signal [onNext(ReadResponse{envelopes=EnvelopeBatch{batch=[]}})] with [java.lang.IllegalStateException]: envelope is not present)

I'll keep probing.

@twoseat twoseat self-assigned this Jun 30, 2020
@twoseat twoseat changed the base branch from master to main July 9, 2020 15:42
@mheath
Copy link
Contributor Author

mheath commented Oct 7, 2020

@twoseat All the tests are passing now.

Copy link
Contributor

@twoseat twoseat left a comment

Choose a reason for hiding this comment

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

Just a few things and I think this is ready to go! Excellent work, made all the better by it not having to be my work.

@twoseat
Copy link
Contributor

twoseat commented Jan 5, 2021

Hi @mheath - I ran the integration tests on this prior to merging and found an issue. While the tests report that they've run fine, the overall log for the run contains multiple references to resource leaks:

io.netty.util.ResourceLeakDetector LEAK: ByteBuf.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information.

I've checked a few similar-ish existing tests and don't see the same problem. It's entirely possible that you're just poking an issue in existing code, but if so I haven't been able to track that down. Let me know how you get on recreating it!

Edit: Note that we run with -Dio.netty.leakDetection.level=PARANOID to surface issues like this.

@mheath
Copy link
Contributor Author

mheath commented Jan 6, 2021

I may be missing something needed to clean things up properly. Let me double check.

@mheath
Copy link
Contributor Author

mheath commented Jan 8, 2021

This depends on #1084 for the tests to run without any ByteBuf leaks.

@twoseat twoseat added this to the 4.13.0.RELEASE milestone Jan 11, 2021
@twoseat
Copy link
Contributor

twoseat commented Jan 11, 2021

Closed in 5fc354b

@twoseat twoseat closed this Jan 11, 2021
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.

2 participants