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

Improve error logging around closing Python client barrage sessions #5761

Open
arman-ddl opened this issue Jul 11, 2024 · 0 comments
Open

Improve error logging around closing Python client barrage sessions #5761

arman-ddl opened this issue Jul 11, 2024 · 0 comments
Assignees
Labels
bug Something isn't working triage

Comments

@arman-ddl
Copy link
Contributor

Description

Despite Noneing a Barrage table view and cleaning up its liveness, closing the related Barrage session will cause an error:

ERROR c-default-executor-1 | ates$TicketReleaseHandler | onError releasing export id 1
io.grpc.StatusRuntimeException: UNAVAILABLE: Channel shutdownNow invoked
	at io.grpc.Status.asRuntimeException(Status.java:537)
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:481)
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
	at io.deephaven.client.impl.BearerHandler$BearerListener.onClose(BearerHandler.java:134)
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Steps to reproduce

Run:

from deephaven import time_table
from deephaven.barrage import barrage_session
from deephaven.liveness_scope import LivenessScope
from pydeephaven import Session
from pydeephaven.session import SharedTicket

tt = time_table("PT1s").update_view(["X = i", "Y = X / 2"])

host = "localhost"
port = 10000
auth_type = "io.deephaven.authentication.psk.PskAuthenticationHandler"
auth_token = "1ezunp7eszar1"

client_session = Session(
    host=host,
    port=port,
    auth_type=auth_type,
    auth_token=auth_token,
)
table_ref = client_session.open_table("tt")

ticket = SharedTicket.random_ticket()
client_session.publish_table(ticket, table_ref)

client_barrage_session = barrage_session(
    host=host,
    port=port,
    auth_type=auth_type,
    auth_token=auth_token,
)
barrage_scope = LivenessScope()
with barrage_scope.open():
    barrage_table = client_barrage_session.subscribe(ticket.bytes)

Then, run:

barrage_table = None

Then, run:

barrage_scope.release()
client_barrage_session.close()

Interestingly, when I run release and close commands separately, this issue does not occur.

Expected results

No error.

Actual results

The error message in the description.

Versions

  • Deephaven: 0.36.0 (main as of 2024/07/11 12:58 PT)
  • OS: Mac
  • Browser: Chrome
  • Docker: N/A
@arman-ddl arman-ddl added bug Something isn't working triage labels Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
None yet
Development

No branches or pull requests

2 participants