github-actions[bot] commented on code in PR #68919:
URL: https://github.com/apache/doris/pull/68919#discussion_r4241127933
##########
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/check/CheckCastTest.java:
##########
@@ -145,6 +145,58 @@ public void testCastBetweenVariantTypes() {
true));
}
+ @Test
+ public void testCastToConnectorComputeVariantMatrix() {
+ // A connector Variant column (e.g. a Paimon VARIANT) is written
through the V2 compute
+ // carrier, which encodes scalar, JSON and Variant values and arrays
of them. CheckCast is the
+ // analysis-time gate of that contract in both cast modes, so an
unsupported source is
+ // rejected at analysis instead of being handed to the BE.
+ List<DataType> supportedSources = Lists.newArrayList(
Review Comment:
[P2] Cover UUID in the connector Variant cast matrix. A native UUID
expression inserted into a Paimon VARIANT column is cast to
`VARIANT_COMPUTE_V2`; `CheckCast` then calls
`VariantType.isSupportedComputeV2CastSource`, which omits `UuidType`, so FE
rejects the INSERT in both cast modes. BE's V2 typed carrier accepts
`TYPE_UUID`, including array leaves. Add UUID and ARRAY<UUID> positive cases
here and admit UUID in the FE predicate.
##########
regression-test/suites/external_table_p0/paimon/write/test_paimon_write_pk.groovy:
##########
@@ -174,18 +174,14 @@ suite("test_paimon_write_pk", "p0,external,paimon") {
FROM t_pk_string_bucket ORDER BY event_id"""
assertTableEquals("t_pk_string_bucket", "ORDER BY event_id")
- // FT-045: The sink may use a bucket-aware Exchange when the negotiated
- // BE execution version supports it, or gather during rolling-upgrade
- // compatibility. Either plan must preserve one owner per bucket.
+ // FT-045: The bucket-aware Exchange may use multiple writers, but
every
+ // (partition, bucket) remains owned by exactly one writer.
sql """SET parallel_pipeline_task_num = 4"""
sql """SET enable_strict_consistency_dml = false"""
- def writerPlan = sql """EXPLAIN SHAPE PLAN
+ qt_pk_writer_scaling_plan """EXPLAIN SHAPE PLAN
Review Comment:
[P2] Exercise multiple buckets in this writer-scaling regression.
`t_pk_writer_scaling` has `bucket=1`, and all 10,000 source rows use `id=1`, so
fixed-bucket routing sends every row to one writer despite
`parallel_pipeline_task_num=4`. The new SHAPE snapshot checks only the
distribution class, and the one surviving PK row cannot reveal a four-writer
routing regression. Use varied keys across several buckets, retain repeated
keys to check bucket ownership, and assert that multiple writers actually
participate. EXPLAIN the same INSERT, including `ORDER BY`, that the case
executes.
--
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]