Atul Mohan
08/14/2025, 10:04 PMRowSignature currently does an order sensitive equality check here. Do we actually need to preserve column order or is it sufficient to check if both the objects have all the columns regardless of order?
I've observed instances where BrokerSegmentMetadataCache frequently updates the row signature, with the only difference being a change in column order. These frequent updates cause signature changes during the query planning phase, In rare cases, the broker generates the projection based on the old signature and apply it to the new signature leading to unexpected query results.Atul Mohan
08/15/2025, 7:57 PMAtul Mohan
08/25/2025, 10:35 PMGian Merlino
08/27/2025, 10:49 AMRowSignature is used (such as in interpreting array-based results)Gian Merlino
08/27/2025, 10:51 AMIn rare cases, the broker generates the projection based on the old signature and apply it to the new signature leading to unexpected query results.This is pretty wild and definitely should be fixed… the effective signature of a table should be locked down once query planning starts
Gian Merlino
08/27/2025, 10:58 AMGian Merlino
08/27/2025, 10:58 AMAtul Mohan
08/27/2025, 10:12 PM[inline_data] has new signature: {__time:LONG, dim1:STRING, dim3:STRING, d1:STRING, d2:STRING, d3:STRING}.
And I add a new segment with dimensions dim1 and d1
It changes the row signature to :
[inline_data] has new signature: {__time:LONG, dim1:STRING, d1:STRING, dim3:STRING, d2:STRING, d3:STRING}.
Is this the expected behavior? The new segment doesn't really change the order but it doesn't have all the columns from the signature.