JingsongLi opened a new pull request, #10689: URL: https://github.com/apache/paimon/pull/10689
## What changes Reduce the shared REST fixture shutdown overhead used throughout Native planning, reading, writing, updating and committing tests. `HTTPServer.serve_forever` uses a 0.5-second default poll interval. Each function-scoped `RESTCatalogServer.shutdown()` therefore waited almost half a second after its final request. Keep the same HTTP server and shutdown/close/join sequence, but run the test server with a 10ms poll interval. - Preserve per-test server, table path, metadata and authorization isolation. Existing fixtures and test coverage stay intact. - Add real lifecycle regressions covering isolated server state, the final REST response, in-flight request completion, stopped threads, closed sockets and reusable ports. They assert behavior with Events, without wall-clock performance thresholds. - Print pytest's 20 slowest setup/call/teardown phases in the main Native CI step so future bottlenecks remain visible. - No dependency, Native extension build, backend, instrumentation or test-selection change. ## Measurement The same 133 node IDs from `native_mod_bucket_write_test.py`, `native_partition_blob_read_test.py` and `native_timestamp_bucket_write_test.py` produced the same **110 passed, 23 Native skipped** results before and after: | Phase | Before | After | | --- | ---: | ---: | | Setup total | 0.177s | 0.143s | | Call total | 0.673s | 0.827s | | Teardown total | 11.939s | 0.144s | | Pytest total | 13.34s | 1.71s | This representative local group is **7.8x faster**. The Native extension is unavailable locally, so this measures its shared REST fixture using the existing Pure variants; it does not claim a full Native CI wall-time result. Eight real start/catalog-create/list/shutdown cycles separately measured mean shutdown **0.500989s -> 0.010837s**, with setup approximately 5ms in both runs. ## Verification - New lifecycle tests also passed on the original implementation, establishing preserved cleanup/request/isolation contracts. - Lifecycle and REST permission tests: **37 passed**. - Additional REST catalog, branch, commit-snapshot and representative Native/Pure regressions: **214 passed, 23 Native skipped, 1 deselected**. The deselected Lance-format test requires the optional `lance` package, absent locally; the initial broader run reached the same passing results and failed only on that missing dependency. - Repository Flake8, Python 3.6 syntax and diff checks pass. No extension was rebuilt or installed. -- 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]
