Pull Query failing from partitioned Materialised table

Yes, but the Python client might to it differently then the Java client… The “default strategy” is not defined by “Kafka”, but each client can implement its own default strategy. And even if two clients pick key-based hash partitioning, they could use a different hash function and thus partition the data differently.

As you point to Confluent docs, ie, you are using the Confluent Python client: I know that it uses a different partitioning compared to the Java client. You need to tell it to use murmur2 (cf Kafka different partitions are selected python confluent_kafka library v/s apache kafka Java - Stack Overflow)

In terms of the query outlined above, my understanding is that doesnt result in a pull query, a pull query needs to be restricted by passing in a where clause based on the timestamp or the key,

Not in newer versions of ksqlDB.