zhangstar333 commented on PR #67039:
URL: https://github.com/apache/doris/pull/67039#issuecomment-5420657950
> @zhangstar333 Thanks for running it. I can't read the failure myself — the
TeamCity instance asks for a login — so could you paste the assertion block
from the log? The part I need is:
>
> ```
> Check tag '...' failed, line N, ... mismatch.
> Expect cell is: ...
> But real is : ...
> ```
>
> The tag name alone would probably be enough to pin it down.
>
> For context on where I'd expect trouble: that suite covers three tables,
and only the Float16 one records values that are not exactly representable.
>
> * `f64_l2` / `f64_l2_flat` record the closed-form L2 ladder `0, 16, 64,
144, 256`
> * `u8_hamming` / `u8_hamming_flat` record the hamming ladder `0, 1, 2, 3,
4`
>
> Both are exact integers on any platform. The Float16 blocks are different
— they record float32 cosine distances printed to 7-8 significant digits
(`1.1920929E-7`, `0.2166698`, `0.29892504`, ...), computed from Float16 inputs.
>
> I regenerated the goldens on macOS/arm64 after rebuilding the fixture. If
the failing tag is `f16_cosine` or `f16_cosine_flat`, the likely cause is
simply that those last digits come out differently on the CI's x86_64 build. In
that case pinning them is the bug, not the values: that table uses directional
data with no closed-form expected distance, so the distance column records
whatever the platform computed rather than anything checkable — the row order
is the part that carries meaning. The fix would be to keep the exact ladders
for Float64 and UInt8 and drop `_distance` from the Float16 blocks, keeping the
"self-distance is not exactly zero" observation as a tolerance-based assertion
instead of a pinned literal.
>
> If it is a different tag, that guess is wrong and I will dig into it from
the log.
Exception:
java.lang.IllegalStateException: Check tag 'f16_cosine' failed:
Check tag 'f16_cosine' failed, line 1, FLOAT result mismatch.
Expect cell is: 1.1920929E-7
But real is : -1.1920929E-7
relative error is: 2.0, bigger than 1.0E-6
line 1 mismatch
ExpectRow: [1, item-0001, 1.1920929E-7]
RealRow : [1, item-0001, -1.1920929E-7]
sql:
SELECT row_id, label, _distance
FROM
vector_search("table"="test_lance_vector_search_indexed_element_types.doris.vs_ivf_flat_f16_cosine",
"column"="embedding",
"query_vector"="[0.5212,-1.0089,1.0115,-0.8052,0.9277,-0.6251,0.7094,0.7868,-0.9736,0.6707,-0.4194,0.5045,0.5806,-0.3585,-0.7997,0.9973]",
"top_k"="5", "metric"="cosine", "nprobes"="4", "use_index"="true")
ORDER BY _distance, row_id
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]