Skip to content

Conversation

@xumanbu
Copy link
Contributor

@xumanbu xumanbu commented Dec 24, 2025

What changes are proposed in this pull request?

FOLLOWUP Fix: #10950

How was this patch tested?

No need

@github-actions github-actions bot added the VELOX label Dec 24, 2025
@xumanbu
Copy link
Contributor Author

xumanbu commented Dec 24, 2025

@wForget @zml1206 PTAL

Copy link
Contributor

@zml1206 zml1206 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also support the other time config mentioned in #10951 (comment)? Thanks.

@FelixYBW
Copy link
Contributor

FelixYBW commented Jan 6, 2026

Can you add the two configs as well?

spark.hadoop.fs.s3a.threads.keepalivetime 60s
spark.hadoop.fs.s3a.multipart.purge.age 86400s

@xumanbu
Copy link
Contributor Author

xumanbu commented Jan 8, 2026

    val s3aTimeConfigs = Map(
      "spark.hadoop.fs.s3a.connection.timeout" -> "ms",
      "spark.hadoop.fs.s3a.connection.establish.timeout" -> "ms",
      "spark.hadoop.fs.s3a.threads.keepalivetime" -> "s", // Note: defaults to seconds
      "spark.hadoop.fs.s3a.connection.ttl" -> "ms",
      "spark.hadoop.fs.s3a.multipart.purge.age" -> "ms"
    )

@zml1206 @FelixYBW use map to store config key to its default time unit.

Copy link
Contributor

@zml1206 zml1206 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks, awaiting CI.

@zml1206
Copy link
Contributor

zml1206 commented Jan 8, 2026

Please use mvn spotless:apply -Pbackends-velox -Pspark-3.4 -DskipTests to fix scala style.

if (NumberUtils.isCreatable(s3sConnectionTimeout)) {
nativeConfMap.put("spark.hadoop.fs.s3a.connection.timeout", s"${s3sConnectionTimeout}ms")
// S3A configurations that require time units for Velox.
// Hadoop-aws versions before 3.3.6 do not include time units by default.
Copy link
Contributor

@zml1206 zml1206 Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why modify it? It should be before version 3.4. Suggestion:
Some configurations in Hadoop-aws versions before 3.4 do not include time units.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my mistake.

This reverts commit 68f184e.
@xumanbu xumanbu changed the title [GLUTEN-10950][VL][FOLLOWUP] Add time unit to 'spark.hadoop.fs.s3a.connection.establish.timeout' [GLUTEN-10950][VL][FOLLOWUP] Fix missing time unit in hadoop-aws time configuration (pre-3.4 versions) Jan 8, 2026
s3aTimeConfigs.foreach {
case (configKey, defaultUnit) =>
val configValue = nativeConfMap.get(configKey)
if (configValue != null && NumberUtils.isCreatable(configValue)) {
Copy link
Contributor

@zml1206 zml1206 Jan 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

configValue != null is redundant, NumberUtils.isCreatable contains null checks.

@zml1206 zml1206 merged commit f6f52e8 into apache:main Jan 10, 2026
115 of 117 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[VL] 'spark.hadoop.fs.s3a.connection.timeout' by velox requires time unit

4 participants