### CI Link

https://gradle-enterprise.elastic.co/s/vgdjkeiiridsk/tests/:x-pack:plugin:sql:qa:mixed-node:v8.2.0%23mixedClusterTest/org.elasticsearch.xpack.sql.qa.mixed_node.SqlCompatIT/testCursorFromOldNodeFailsOnNewNode?top-execution=1

### Repro line

./gradlew ':x-pack:plugin:sql:qa:mixed-node:v8.2.0#mixedClusterTest' -Dtests.class="org.elasticsearch.xpack.sql.qa.mixed_node.SqlCompatIT" -Dtests.method="testCursorFromOldNodeFailsOnNewNode" -Dtests.seed=FDCF684F324DE11D -Dtests.bwc=true -Dtests.locale=es-PR -Dtests.timezone=Asia/Baku -Druntime.java=17

### Does it reproduce?

Yes

### Applicable branches

master

### Failure history

_No response_

### Failure excerpt

```
java.lang.AssertionError:
  Expected: a string containing "Unsupported cursor version [8.2.0], expected [8.3.0]" |  
  but: was "method [POST], host [http://127.0.0.1:34941], URI [_sql], status line [HTTP/1.1 500 Internal Server Error] |  
  {"error":{"root_cause":[{"type":"sql_illegal_argument_exception","reason":"Unsupported cursor version [1.66.82], expected [8.3.0]"}],"type":"sql_illegal_argument_exception","reason":"Unsupported cursor version [1.66.82], expected [8.3.0]"},"status":500}"
```

x-pack/plugin/sql/qa/mixed-node/src/test/java/org/elasticsearch/xpack/sql/qa/mixed_node/SqlCompatIT.java
bwcVersion.before(INTRODUCING_MISSING_ORDER_IN_COMPOSITE_AGGS_VERSION)
        );
        List<Integer> result = runOrderByNullsLastQuery(client);
        assertEquals(3, result.size());
        assertNull(result.get(0));
        assertEquals(Integer.valueOf(1), result.get(1));
        assertEquals(Integer.valueOf(2), result.get(2));
    }
    public void testNullsOrderWithMissingOrderSupportQueryingNewNode() throws IOException {
        testNullsOrderWithMissingOrderSupport(newNodesClient);
    }
    public void testNullsOrderWithMissingOrderSupportQueryingOldNode() throws IOException {
        testNullsOrderWithMissingOrderSupport(oldNodesClient);
    }
    private void testNullsOrderWithMissingOrderSupport(RestClient client) throws IOException {
        assumeTrue(
            "expected all nodes with support for missing_order but got some without",
            bwcVersion.onOrAfter(INTRODUCING_MISSING_ORDER_IN_COMPOSITE_AGGS_VERSION)
        );
        List<Integer> result = runOrderByNullsLastQuery(client);
        assertEquals(3, result.size());
        assertEquals(Integer.valueOf(1), result.get(0));
        assertEquals(Integer.valueOf(2), result.get(1));
        assertNull(result.get(2));
    }
    private void indexDocs() throws IOException {
        Request putIndex = new Request("PUT", "/test");
        putIndex.setJsonEntity("""
            {"settings":{"index":{"number_of_shards":3}}}""");
        client().performRequest(putIndex);