Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGELOG-VIRTANA.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ Each has a matching suite under `server/src/test/scala/.../telemetry/`.
| File | Virtana change |
|------|----------------|
| `DeltaSharingService.scala` | ~600 added lines: access log emission per query/CDF request, client region + IP header extraction, egress byte accounting, idle timeout config |
| `config/ServerConfig.scala` | New `AccessLoggingConfig` case class; new `perfLoggingEnabled` and `idleTimeoutSeconds` options |
| `config/ServerConfig.scala` | New `AccessLoggingConfig` case class; new `perfLoggingEnabled`, `idleTimeoutSeconds`, and `signingThreadPoolSize` options |
| `DeltaSharedTableProtocol.scala` | New `CdfQueryTimings` / `TableQueryTimings` / `QueryResultTimings` observability models; `QueryResult` gained a `timings` field |
| `DeltaSharedTableLoader.scala` | `loadTableWithUpdateCost` returns `deltaLog.update()` elapsed time for perf logging |
| `standalone/internal/DeltaSharedTable.scala` | Per-phase timing instrumentation (snapshot resolve, replay, signing); near-timeout warnings |
| `standalone/internal/DeltaSharedTable.scala` | Per-phase timing instrumentation (snapshot resolve, replay, signing); near-timeout warnings; **parallel GCS V4 signing** refactor (collects paths in order, signs in parallel on a shared process-wide thread pool sized by `signingThreadPoolSize`, reassembles results in original order) — reduces signing wall time by ~50% for CDF batches with 10+ versions |
| `standalone/internal/DeltaSharingCDCReader.scala` | CDF stream timing instrumentation |

### Build & infrastructure
Expand Down
1 change: 1 addition & 0 deletions manifests/base/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ data:
queryTablePageSizeLimit: 10000
queryTablePageTokenTtlMs: 259200000
refreshTokenTtlMs: 3600000
signingThreadPoolSize: 32
accessLogging:
enabled: true
sourceRegion: "us-central1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,8 @@ class DeltaSharingService(serverConfig: ServerConfig) {

private val sharedTableManager = new SharedTableManager(serverConfig)

DeltaSharedTable.configureSigningThreadPoolSize(serverConfig.signingThreadPoolSize)

private val deltaSharedTableLoader = new DeltaSharedTableLoader(serverConfig)

private val logger = LoggerFactory.getLogger(classOf[DeltaSharingService])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,9 @@ case class ServerConfig(
// Set to 0 to use Armeria's built-in default (15 seconds).
@BeanProperty var idleTimeoutSeconds: Long,
// Access logging configuration for tracking share data egress via structured logs.
@BeanProperty var accessLogging: AccessLoggingConfig
@BeanProperty var accessLogging: AccessLoggingConfig,
// The number of threads used to sign file URLs in parallel (queryTable/queryTableChanges).
@BeanProperty var signingThreadPoolSize: Int
Comment on lines +77 to +78
) extends ConfigItem {
import ServerConfig._

Expand All @@ -99,7 +101,8 @@ case class ServerConfig(
refreshTokenTtlMs = 3600000, // 1 hour
perfLoggingEnabled = true,
idleTimeoutSeconds = 120,
accessLogging = null
accessLogging = null,
signingThreadPoolSize = 32
)
}

Expand Down
Loading
Loading