aglinxinyuan commented on code in PR #6797:
URL: https://github.com/apache/texera/pull/6797#discussion_r3649154450
##########
.github/workflows/build.yml:
##########
@@ -291,6 +291,14 @@ jobs:
AMBER_TEST_FILTER: skip-integration
# unit job uses its provisioned postgres catalog; default (rest)
needs a Lakekeeper not run here
STORAGE_ICEBERG_CATALOG_TYPE: postgres
+ # Backstop for CI log volume: the chatty per-worker/per-message
engine
+ # logs are DEBUG in source; pin the JVM root and the spawned Python
UDF
+ # workers so nothing at INFO leaks into the CI console. Mind the
spelling:
+ # logback's level is WARN, but loguru (the Python worker) only knows
+ # WARNING and raises ValueError on "WARN" — which crashes the worker
at
+ # startup before it hands its port back, hanging the whole job.
+ TEXERA_SERVICE_LOG_LEVEL: WARN
+ UDF_PYTHON_LOG_STREAMHANDLER_LEVEL: WARNING
Review Comment:
Done in 02e917ceff — both steps now use `${{ runner.debug == '1' && 'DEBUG'
|| 'WARN' }}` (and `'WARNING'` for the Python worker). A normal run stays
quiet; re-running with **Enable debug logging** flips the JVM root and the
Python workers to DEBUG, so the demoted engine logs all come back on demand
without touching the workflow.
##########
.github/workflows/build.yml:
##########
@@ -330,6 +338,10 @@ jobs:
# cutting lints (scalafmt / scalafix) and the amber dist + binary
# license check stay in `amber`; this job is tests-only.
if: ${{ inputs.run_amber_integration }}
+ # A Python UDF worker that fails to start (e.g. a bad log level) leaves the
+ # JVM blocked on the proxy handshake with no internal timeout, so the whole
+ # job would otherwise hang until GitHub's 6h cap. Fail fast instead.
+ timeout-minutes: 40
Review Comment:
I checked the last 38 green runs of this job on main: 9.0–16.4 min, avg
12.1. 20 would leave only ~3.5 min over the observed max, so a cold sbt cache
or a slow macOS runner could trip it spuriously. Went with 25 in 02e917ceff —
still fails ~14x faster than the 6h cap, with real headroom over the worst
observed run.
##########
amber/src/main/scala/org/apache/texera/amber/engine/architecture/common/PekkoActorRefMappingService.scala:
##########
@@ -76,13 +76,13 @@ class PekkoActorRefMappingService(actorService:
PekkoActorService) extends Amber
def removeActorRef(id: ActorVirtualIdentity): Unit = {
if (actorRefMapping.contains(id)) {
val ref = actorRefMapping.remove(id).get
- logger.warn(s"actor $id is not reachable anymore, it might have crashed.
old ref = $ref")
+ logger.debug(s"removed actor ref for $id. old ref = $ref")
Review Comment:
Sounds good — changed to `actor $id is not reachable anymore. old ref =
$ref` in 02e917ceff, exactly as you suggested. It states what the mapping
service actually knows and infers neither a crash nor an intentional removal.
--
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]