{"record":{"id":"e95b9f59f03173fb","repo":"apache/cassandra","slug":"no-response-from-s","errorCode":null,"errorMessage":"No response from %s","messagePattern":"No response from (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/java/org/apache/cassandra/db/virtual/RemoteToLocalVirtualTable.java","lineNumber":289,"sourceCode":"            {\n                if (failure.failure == null) promise.tryFailure(new RuntimeException(failure.reason.toString()));\n                else promise.tryFailure(failure.failure);\n            }\n        };\n\n        MessagingService.instance().sendWithCallback(message, endpoint, callback);\n    }\n\n    private void collect(PartitionsCollector collector, RequestAndResponse rr, Function<DecoratedKey, ByteBuffer[]> pksToCks)\n    {\n        if (!rr.awaitUntilThrowUncheckedOnInterrupt(collector.deadlineNanos()))\n            throw new InternalTimeoutException();\n\n        rr.rethrowIfFailed();\n        ReadResponse response = rr.getNow();\n        if (response == null)\n        {\n            ClientWarn.instance.warn(\"No response from \" + rr.nodeId);\n            return;\n        }\n\n        int pkCount = local.partitionKeyColumns().size();\n        PartitionCollector out = rr.partitions.partition(rr.nodeId.id());\n        try (UnfilteredPartitionIterator partitions = response.makeIterator(rr.readCommand))\n        {\n            while (partitions.hasNext())\n            {\n                try (UnfilteredRowIterator iter = partitions.next())\n                {\n                    ByteBuffer[] clusterings = pksToCks.apply(iter.partitionKey());\n                    while (iter.hasNext())\n                    {\n                        Unfiltered next = iter.next();\n                        if (!next.isRow())\n                            throw new UnsupportedOperationException(\"Range tombstones not supported\");\n","sourceCodeStart":271,"sourceCodeEnd":307,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/db/virtual/RemoteToLocalVirtualTable.java#L271-L307","documentation":"RemoteToLocalVirtualTable.collect() issues a read to a remote node; if the round-trip returns no ReadResponse before its deadline, it warns 'No response from <node>' and skips that node's data rather than failing the whole virtual-table query. The message names the unreachable/slow node (rr.nodeId).","triggerScenarios":"A SELECT on the remote-fed virtual table where rr.getNow() returns null for a peer: the peer did not reply within the internal timeout (InternalTimeoutException thrown just above) or was unreachable/overloaded while not failing outright.","commonSituations":"One node of the cluster is down, network-partitioned, GC-thrashing, or heavily loaded; querying the virtual table from the coordinator while a replica is slow; mixed-version clusters where a peer doesn't answer the internal request.","solutions":["Check nodetool status / gossip to see if the node named in the warning is UP.","Retry the query once the reported node recovers or load drops below the timeout threshold.","Investigate the named node's logs, GC pauses, and network connectivity (nodetool netstats, tpstats).","Treat returned data as incomplete for that node; re-run to assemble full results."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// confirm the cluster is healthy before querying remote-fed virtual tables\nboolean allUp = session.execute(\"SELECT status FROM system_views.peers\").all()\n    .stream().allMatch(r -> \"UP\".equals(r.getString(\"status\")));","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check nodetool status before querying remote-fed virtual tables.","Retry queries that warn 'No response from <node>' after the node recovers.","Monitor node GC/load to keep response times under the internal timeout."],"tags":["virtual-table","remote-node","timeout","network"],"backgroundTag":"request-timeout","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}