Uh oh!
There was an error while loading. Please reload this page.
GH-38255: [Java] Implement Flight SQL Bulk Ingestion - #43551
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
eramitmittal
commented
Aug 7, 2024
hi @lidavidm, any update please? |
lidavidm
commented
Aug 7, 2024
Sorry @eramitmittal, I will try to get to it tomorrow |
lidavidm
commented
Aug 8, 2024
It appears this fails the actual integration tests, though |
eramitmittal
commented
Aug 8, 2024
Thanks looking into the integration failures. They passed on my local machine. |
@lidavidm any hint on how to proceed? Only Java 21+ runs are failing on Ubuntu complaining about memory leak in I have also tried to statically study the Since the problem occurs only in CI, is there any possibility to run the tests in CI with DEBUG on for allocator? |
lidavidm
commented
Aug 9, 2024
That's not the error I'm concerned about, I'm more wondering why the integration tests fail: |
lidavidm
commented
Aug 9, 2024
As for the memory leak, @vibhatha since we disabled the debug logging, how can it be reenabled here? |
eramitmittal
commented
Aug 10, 2024
@lidavidm the integration tests should be fixed now with new pushed commit. |
vibhatha
commented
Aug 12, 2024
eramitmittal
commented
Aug 12, 2024
eramitmittal
commented
Sep 3, 2024
@lidavidm I have added an allocationListener to the tests to keep track of allocation and release. In case of failure due to IllegalStateException I am then printing the allocation/release trail. Hopefully this should be able to provide information on where the mem leak occurs. Can you please approve the CI? |
lidavidm
commented
Sep 4, 2024
Done. It seems it's either the server or the client's handling of putResult that's the issue? (Maybe sometimes we aren't draining the stream on the client properly?) |
I see client side allocating and releasing PutResult fine. Problem is at server side: I see release corresponding to ackStream.onCompleted() ..but no trace of buffer getting closed due to try-with-resources. It seems as if executor thread got completed before calling the finally!!! In the tests client finishes and then server.close() gets called which shutdown the ExecutorService without waiting for pending tasks to finish. Flow similar to FlightServer.close() is needed |
vibhatha
commented
Sep 4, 2024
@eramitmittal I guess then in this case we need to make sure we gracefully release all resources. |
eramitmittal
commented
Sep 4, 2024
@vibhatha in general FlightServer.close() and shutdown methods need a review to account for pending tasks in ExecutorService as well. Other way obviously is that I can introduce a short delay in the IntegrationTest.testScenario method to allow ExecutorService threads to finish. But that will not solve the problem getting highlighted in FlightServer. I think graceful shutdown of FlightServer can be handled as a separate issue and for now I can just make the tests pass. What do you think? |
…allow ExecutorService to finish pending tasks)
eramitmittal
commented
Sep 4, 2024
Pushed a wait for ExecutorService to terminate in IntegrationTest.testScenario method. @lidavidm please approve the CI |
Uh oh!
There was an error while loading. Please reload this page.
…to explain wait for executorService to finish)
vibhatha
commented
Sep 4, 2024
eramitmittal
commented
Sep 4, 2024
So nice to see the integration tests passing consistently now :). Hope to see this merged soon. Thanks |
lidavidm
commented
Sep 5, 2024
Argh, I didn't notice that this used a closed GitHub issue. |
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 5ca12bd. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
) Please look at apache#38255 for details on this functionality. Support for Go and C++ was added as part of apache#38385. This pull request is to add the required support for Java. * GitHub Issue: apache#38255 Lead-authored-by: Amit Mittal <amit.mittal@iongroup.com> Co-authored-by: Amit Mittal <eramitmittal@users.noreply.github.com> Signed-off-by: David Li <li.davidm96@gmail.com>
) Please look at apache#38255 for details on this functionality. Support for Go and C++ was added as part of apache#38385. This pull request is to add the required support for Java. * GitHub Issue: apache#38255 Lead-authored-by: Amit Mittal <amit.mittal@iongroup.com> Co-authored-by: Amit Mittal <eramitmittal@users.noreply.github.com> Signed-off-by: David Li <li.davidm96@gmail.com>





Please look at #38255 for details on this functionality. Support for Go and C++ was added as part of #38385.
This pull request is to add the required support for Java.