morningman opened a new pull request, #66970:
URL: https://github.com/apache/doris/pull/66970

   ### What problem does this PR solve?
   
   Related PR: #66873
   
   Problem Summary:
   
   Two unrelated `external_table_p0` failures, both in test code only. No BE/FE 
code is touched.
   
   #### 1. `remote_doris` DATETIME baselines are stale after #66873
   
   #66873 changed the Arrow Flight result schema so `DATETIMEV2` is exposed as 
a **timezone-naive** Arrow timestamp. Both sides of the conversion agree — 
`write_column_to_arrow` and `read_column_from_arrow` both decode an empty Arrow 
timezone as UTC — so a cross-cluster `type=doris` read now round-trips the 
whole DATETIME domain.
   
   Under the previous timezone-aware encoding, `0000-01-01 00:00:00` was 
written as an epoch below the minimum representable value once the session 
timezone was applied, `from_unixtime` rejected it, and the value came back as 
an invalid datetime (rendered empty).
   
   `test_remote_doris_all_types_select` and `test_remote_doris_statistics` are 
the only suites that store that boundary value in a `DATETIME` column read over 
an arrow-flight Doris catalog, so they are the only ones whose baselines still 
record the old broken output:
   
   ```
   test_remote_doris_all_types_select.out
     scalar c_datetime :          →  0000-01-01T00:00
     array  a_datetime : [""]     →  ["0000-01-01 00:00:00"]
   
   test_remote_doris_statistics.out
     c_datetime  min/max : 2023-10-01 12:34:56 / (empty)
                         →  0000-01-01 00:00:00 / 9999-12-31 23:59:59
   ```
   
   The new values are exactly the ones the test inserts, and the refreshed 
baseline is now **identical cell for cell** to 
`test_query_remote_doris_as_olap_table_select`, which reads the same table 
definition and the same rows with `use_arrow_flight = false`. Making the two 
transports agree is what #66873 set out to do, so that equality is the check 
that these values are right.
   
   This is a master-wide failure, not specific to any PR: across ~60 recent 
`Doris_External_Regression` builds, every build whose base contains 910b741ba32 
fails these two suites, and every build with an older base passes them. Both 
are currently muted in TeamCity, so the mutes should be removed once this lands.
   
   #### 2. `test_iceberg_write_merge_duplicate_source_negative` is flaky (13 of 
50 recent runs)
   
   ```
   mc: <ERROR> Unable to initialize new alias from the provided credentials.
   Get "http://172.17.0.6:19001/probe-.../?location=": dial tcp 
172.17.0.6:19001: i/o timeout
   ```
   
   The suite counted data objects by starting a throwaway `minio/mc` container 
per call. MinIO runs on the isolated `doris--iceberg` compose network 
(`168.38.0.0/24`) and only publishes its API on the host, while the ad-hoc 
container joins the default bridge — so every call had to hairpin from that 
bridge back to the published port. That path times out while the agent starts 
and stops other containers, and with four calls per run the suite failed about 
a quarter of the time. MinIO itself was healthy in every failing run, and this 
was the only suite in the repo using that pattern.
   
   Count the objects with the S3 SDK in the suite's own JVM instead, against 
the same endpoint the catalog is already configured with — the same approach 
`test_iceberg_variant_read.groovy` already uses. Two incidental bugs go away 
with it:
   
   - the listing now paginates over continuation tokens, so a table with more 
than 1000 objects can no longer be undercounted;
   - the prefix is anchored at `.../data/` rather than `.../data`, so a sibling 
directory sharing the prefix is not swept in.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test
       - [x] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason
   
   - Behavior changed:
       - [x] No.
       - [ ] Yes.
   
   - Does this need documentation?
       - [x] No.
       - [ ] Yes.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01TGba4CrDYYiDtuW7kuKFpL
   


-- 
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]

Reply via email to