Yicong-Huang commented on issue #4525:
URL: https://github.com/apache/texera/issues/4525#issuecomment-4321546053

   Closed the experimental PR (#4527) with a write-up of what CI found. Quick 
summary:
   
   Removing the global `Tags.limit` is feasible but requires several 
prerequisite cleanups, each meaningful in its own right:
   
   1. **Singleton `MockTexeraDB`** so concurrent specs don't race on the 
EmbeddedPostgres binary lock.
   2. **`TRUNCATE` every `texera_db` table on each spec setup** (both singleton 
EP and the CI Postgres service) to stop `uid=1` / `wid=1` collisions across 
specs.
   3. **A serialization mechanism that doesn't depend on `super.beforeAll`** — 
most DB-using specs override `beforeAll` without chaining. Overriding 
`Suite.run` works.
   4. **Real per-JVM singletons across modules** — sbt's default no-fork puts 
every subproject's tests in one JVM with separate classloaders, so `object` 
singletons are per-classloader. Either `Test / fork := true` (with the right 
`forkOptions / workingDirectory` since otherwise relative paths like 
`sql/texera_ddl.sql` break), or a cross-classloader sync mechanism.
   5. **Audit relative paths** — there are at least two conventions in test 
code (`sql/...` and `./common/workflow-operator`) that assume the cwd is the 
repo root.
   
   Each of these is a self-contained PR worth landing on its own; only after 
they're all in does the actual `Tags.limit` removal become a small one-line 
change.
   
   Leaving this issue open as the umbrella; the PR branch is preserved as a 
reference (`Yicong-Huang/texera:perf/try-remove-test-limit`).


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

Reply via email to