{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":31378968,"defaultBranch":"master","name":"grpc-java","ownerLogin":"ejona86","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2015-02-26T17:23:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2811396?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716312570.0","currentOid":""},"activityList":{"items":[{"before":"c641a29303eda26248a0379b7a975aaa59c27c66","after":null,"ref":"refs/heads/otel-libs","pushedAt":"2024-05-21T17:29:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":"e5f5ce6929f455839aab3b30b2a1282eece1bf38","after":"a3f50bb63f066c3c3eb73fe08e261de1d3e94a69","ref":"refs/heads/csm-o11y","pushedAt":"2024-05-20T23:59:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"Create gcp-csm-observability","shortMessageHtmlLink":"Create gcp-csm-observability"}},{"before":null,"after":"6c4716438c5bad19ddb1d336d80aa0fcedfd7d43","ref":"refs/heads/api-tracer-inboundheaders","pushedAt":"2024-05-20T23:57:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"api: Add ClientStreamTracer.inboundHeaders(Metadata)\n\nThis will be used by the metadata exchange of CSM. When recording\nper-attempt metrics, we really need per-attempt data and can't leverage\nClientInterceptors.","shortMessageHtmlLink":"api: Add ClientStreamTracer.inboundHeaders(Metadata)"}},{"before":null,"after":"bcacaf9f43fc7892cca1eacf6838fe6c9aabc178","ref":"refs/heads/xds-filtermetadata","pushedAt":"2024-05-20T23:57:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"xds: Plumb the Cluster's filterMetadata to RPCs\n\nThis will be used by CSM observability, and may get exposed to further\nuses in the future.","shortMessageHtmlLink":"xds: Plumb the Cluster's filterMetadata to RPCs"}},{"before":null,"after":"c641a29303eda26248a0379b7a975aaa59c27c66","ref":"refs/heads/otel-libs","pushedAt":"2024-05-20T23:56:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"opentelemetry: Use dep from gradle/libs.versions.toml","shortMessageHtmlLink":"opentelemetry: Use dep from gradle/libs.versions.toml"}},{"before":"bcbc573445c2ba21fc542beaf7455ecad5beb0cc","after":"e5f5ce6929f455839aab3b30b2a1282eece1bf38","ref":"refs/heads/csm-o11y","pushedAt":"2024-05-20T18:39:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"ExperimentalApi?","shortMessageHtmlLink":"ExperimentalApi?"}},{"before":"c77ade5f32417dcb4b9046b6c6babd425e70671e","after":"bcbc573445c2ba21fc542beaf7455ecad5beb0cc","ref":"refs/heads/csm-o11y","pushedAt":"2024-05-18T00:07:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"Create gcp-csm-observability","shortMessageHtmlLink":"Create gcp-csm-observability"}},{"before":"9e65e703bc49855e7c6bbfd18fbc245096663bd4","after":"ce22d05313e04086e9b660b11f3ffd52b6e0a972","ref":"refs/heads/inprocess-stop-between-stop","pushedAt":"2024-05-16T22:31:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"Relax status check","shortMessageHtmlLink":"Relax status check"}},{"before":"80541f28295bf83e54b9803fdbc9ee8572398ff3","after":"9e65e703bc49855e7c6bbfd18fbc245096663bd4","ref":"refs/heads/inprocess-stop-between-stop","pushedAt":"2024-05-15T23:09:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"inprocess: Fix listener race if transport is shutdown while starting\n\nReturning the runnable did nothing, as both the start method and the\nrunnable are run within the synchronization context. I believe the\nRunnable used to be required in the previous implementation of\nManagedChannelImpl (the lock-based implementation before we created\nSynchronizationContext).\n\nThis fixes a NPE seen in ServerImpl because the server expects proper\nordering of transport lifecycle events.\n```\nUncaught exception in the SynchronizationContext. Panic!\njava.lang.NullPointerException: Cannot invoke \"java.util.concurrent.Future.cancel(boolean)\" because \"this.handshakeTimeoutFuture\" is null\n\tat io.grpc.internal.ServerImpl$ServerTransportListenerImpl.transportReady(ServerImpl.java:440)\n\tat io.grpc.inprocess.InProcessTransport$4.run(InProcessTransport.java:215)\n\tat io.grpc.SynchronizationContext.drain(SynchronizationContext.java:94)\n```\n\nb/338445186","shortMessageHtmlLink":"inprocess: Fix listener race if transport is shutdown while starting"}},{"before":"0d4634f44df08292e7dcce2a5e3e2cae310728cc","after":"80541f28295bf83e54b9803fdbc9ee8572398ff3","ref":"refs/heads/inprocess-stop-between-stop","pushedAt":"2024-05-15T23:07:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"inprocess: Fix listener race if transport is shutdown while starting\n\nThis fixes a NPE seen in ServerImpl because the server expects proper\nordering of transport lifecycle events.\n```\nUncaught exception in the SynchronizationContext. Panic!\njava.lang.NullPointerException: Cannot invoke \"java.util.concurrent.Future.cancel(boolean)\" because \"this.handshakeTimeoutFuture\" is null\n\tat io.grpc.internal.ServerImpl$ServerTransportListenerImpl.transportReady(ServerImpl.java:440)\n\tat io.grpc.inprocess.InProcessTransport$4.run(InProcessTransport.java:215)\n\tat io.grpc.SynchronizationContext.drain(SynchronizationContext.java:94)\n```\n\nb/338445186","shortMessageHtmlLink":"inprocess: Fix listener race if transport is shutdown while starting"}},{"before":null,"after":"0d4634f44df08292e7dcce2a5e3e2cae310728cc","ref":"refs/heads/inprocess-stop-between-stop","pushedAt":"2024-05-15T23:07:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"inprocess: Fix listener race if transport is shutdown while starting\n\nThis fixes a NPE seen in ServerImpl because the server expects proper\nordering of transport lifecycle events.\n```\nUncaught exception in the SynchronizationContext. Panic!\njava.lang.NullPointerException: Cannot invoke \"java.util.concurrent.Future.cancel(boolean)\" because \"this.handshakeTimeoutFuture\" is null\n\tat io.grpc.internal.ServerImpl$ServerTransportListenerImpl.transportReady(ServerImpl.java:440)\n\tat io.grpc.inprocess.InProcessTransport$4.run(InProcessTransport.java:215)\n\tat io.grpc.SynchronizationContext.drain(SynchronizationContext.java:94)\n```","shortMessageHtmlLink":"inprocess: Fix listener race if transport is shutdown while starting"}},{"before":"9b6ab5b63fe141b7efd89ee6d8772ff3f41b049d","after":null,"ref":"refs/heads/avoid-double-pick","pushedAt":"2024-05-14T18:37:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":"a456c4d4b50cc0b4374818f240cc96509ffbe8b4","after":null,"ref":"refs/heads/backport-otel-all-1.64","pushedAt":"2024-05-14T18:18:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":"632bee6d4ecb2c6a48e09e0b52ca10fbcaae079e","after":null,"ref":"refs/heads/backport-otel-global-experimental-1.64","pushedAt":"2024-05-14T18:17:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":null,"after":"a456c4d4b50cc0b4374818f240cc96509ffbe8b4","ref":"refs/heads/backport-otel-all-1.64","pushedAt":"2024-05-14T17:28:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"all: Add opentelemetry\n\nThis adds opentelemetry to the shared javadoc (but also other things\nlike having its tests contribute to code coverage).","shortMessageHtmlLink":"all: Add opentelemetry"}},{"before":"14acf0e23e7bbadec16dd95e158adf1575625070","after":null,"ref":"refs/heads/otel-all","pushedAt":"2024-05-14T17:28:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":null,"after":"632bee6d4ecb2c6a48e09e0b52ca10fbcaae079e","ref":"refs/heads/backport-otel-global-experimental-1.64","pushedAt":"2024-05-14T17:27:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"opentelemetry: Mark registerGlobal() as experimental","shortMessageHtmlLink":"opentelemetry: Mark registerGlobal() as experimental"}},{"before":"2bc54eb4c858b24d1e24d6d4a9b83a64287d7441","after":null,"ref":"refs/heads/otel-global-experimental","pushedAt":"2024-05-14T17:27:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":"2ca7e22b7f1a446229128bde596356600f409d71","after":"14acf0e23e7bbadec16dd95e158adf1575625070","ref":"refs/heads/otel-all","pushedAt":"2024-05-14T16:47:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"all: Add opentelemetry\n\nThis adds opentelemetry to the shared javadoc (but also other things\nlike having its tests contribute to code coverage).","shortMessageHtmlLink":"all: Add opentelemetry"}},{"before":null,"after":"2ca7e22b7f1a446229128bde596356600f409d71","ref":"refs/heads/otel-all","pushedAt":"2024-05-14T16:47:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"all: Add opentelemetry\n\nThis adds opentelemetry to the shared javadoc.","shortMessageHtmlLink":"all: Add opentelemetry"}},{"before":"e68dd09aa02424818f1d03a49fd5334434ac5800","after":"2bc54eb4c858b24d1e24d6d4a9b83a64287d7441","ref":"refs/heads/otel-global-experimental","pushedAt":"2024-05-14T16:16:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"Add import","shortMessageHtmlLink":"Add import"}},{"before":null,"after":"e68dd09aa02424818f1d03a49fd5334434ac5800","ref":"refs/heads/otel-global-experimental","pushedAt":"2024-05-14T13:42:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"opentelemetry: Mark registerGlobal() as experimental","shortMessageHtmlLink":"opentelemetry: Mark registerGlobal() as experimental"}},{"before":"77a1e77e11ad971d714df7a54c7ec4d9685bd5be","after":"f9b6e5f92d20d7c68e59d392f8b42317502bb296","ref":"refs/heads/master","pushedAt":"2024-05-14T13:39:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"rls: Guarantee backoff will update RLS picker\n\nPreviously, picker was likely null if entering backoff soon after\nstart-up. This prevented the picker from being updated and directing\nqueued RPCs to the fallback. It would work for new RPCs if RLS returned\nextremely rapidly; both ManagedChannelImpl and DelayedClientTransport do\na pick before enqueuing so the ManagedChannelImpl pick could request\nfrom RLS and DelayedClientTransport could use the response. So the test\nuses a delay to purposefully avoid that unlikely-in-real-life case.\n\nCreating a resolving OOB channel for InProcess doesn't actually change\nthe destination from the parent, because InProcess uses directaddress.\nThus the fakeRlsServiceImpl is now being added to the fake backend\nserver, because the same server is used for RLS within the test.\n\nb/333185213","shortMessageHtmlLink":"rls: Guarantee backoff will update RLS picker"}},{"before":"68ba4db7eab8d9a70c454fc7eb49f12fe4c5d7b8","after":null,"ref":"refs/heads/backport-rls-fallback-hang-1.64","pushedAt":"2024-05-14T13:34:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":null,"after":"9b6ab5b63fe141b7efd89ee6d8772ff3f41b049d","ref":"refs/heads/avoid-double-pick","pushedAt":"2024-05-13T23:37:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"core: Fully delegate picks to DelayedClientTransport\n\nDelayedClientTransport already had to handle all the cases, so\nManagedChannelImpl picking was acting only as an optimization.\nOptimizing DelayedClientTransport to avoid the lock when not queuing\nmakes ManagedChannelImpl picking entirely redundant, and allows us to\nremove the duplicate race-handling logic.\n\nThis avoids double-picking when queuing, where ManagedChannelImpl does a\npick, decides to queue, and then DelayedClientTransport re-performs the\npick because it doesn't know which pick version was used. This was\nnoticed with RLS, which mutates state within the picker.","shortMessageHtmlLink":"core: Fully delegate picks to DelayedClientTransport"}},{"before":null,"after":"68ba4db7eab8d9a70c454fc7eb49f12fe4c5d7b8","ref":"refs/heads/backport-rls-fallback-hang-1.64","pushedAt":"2024-05-13T23:36:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"rls: Guarantee backoff will update RLS picker\n\nPreviously, picker was likely null if entering backoff soon after\nstart-up. This prevented the picker from being updated and directing\nqueued RPCs to the fallback. It would work for new RPCs if RLS returned\nextremely rapidly; both ManagedChannelImpl and DelayedClientTransport do\na pick before enqueuing so the ManagedChannelImpl pick could request\nfrom RLS and DelayedClientTransport could use the response. So the test\nuses a delay to purposefully avoid that unlikely-in-real-life case.\n\nCreating a resolving OOB channel for InProcess doesn't actually change\nthe destination from the parent, because InProcess uses directaddress.\nThus the fakeRlsServiceImpl is now being added to the fake backend\nserver, because the same server is used for RLS within the test.\n\nb/333185213","shortMessageHtmlLink":"rls: Guarantee backoff will update RLS picker"}},{"before":"f30fe5dc7cad31f9abe5ba084612455aa569105c","after":null,"ref":"refs/heads/rls-fallback-hang","pushedAt":"2024-05-13T23:29:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"}},{"before":null,"after":"97e6c02e64a034f6e02fa091129442018bfffbf6","ref":"refs/heads/no-switchto","pushedAt":"2024-05-13T14:31:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"xds: Avoid switchTo in PriorityLb","shortMessageHtmlLink":"xds: Avoid switchTo in PriorityLb"}},{"before":null,"after":"ba90ba1bdcacd44107d8a88947447daf4fafd67d","ref":"refs/heads/rls-cache-notthreadsafe","pushedAt":"2024-05-13T14:26:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"rls: Make LinkedHashLruCache non-threadsafe\n\nCachingRlsLbClient already calls it with a lock held. The only reason\nthe cache needs to manage the lock itself is for the periodic cleanup.\nLet the consumer of the cache handle the timer.","shortMessageHtmlLink":"rls: Make LinkedHashLruCache non-threadsafe"}},{"before":"5ba1a556374deb588601265f5d160056e238627e","after":"77a1e77e11ad971d714df7a54c7ec4d9685bd5be","ref":"refs/heads/master","pushedAt":"2024-05-13T14:23:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ejona86","name":"Eric Anderson","path":"/ejona86","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2811396?s=80&v=4"},"commit":{"message":"xds, rls: Experimental metrics are disabled by default (#11196)\n\nExperimental metrics (i.e WRR and RLS metrics) are disabled by default. Users are expected to explicitly enable while configuring metrics.","shortMessageHtmlLink":"xds, rls: Experimental metrics are disabled by default (grpc#11196)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUB9YmgA","startCursor":null,"endCursor":null}},"title":"Activity ยท ejona86/grpc-java"}