Skip to content

[HWORKS] Port Hopsworks customizations to Spark 4.1#57

Open
gibchikafa wants to merge 11 commits into
logicalclocks:branch-4.1from
gibchikafa:branch-4.1
Open

[HWORKS] Port Hopsworks customizations to Spark 4.1#57
gibchikafa wants to merge 11 commits into
logicalclocks:branch-4.1from
gibchikafa:branch-4.1

Conversation

@gibchikafa

Copy link
Copy Markdown
Collaborator

What changes were proposed in this pull request?

(Please fill in changes proposed in this fix)

How was this patch tested?

(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Please review http://spark.apache.org/contributing.html before opening a pull request.

gibchikafa and others added 11 commits June 15, 2026 14:21
Switch build to Hops libraries:
- hadoop: io.hops:3.4.3.1-EE-RC0 (via hadoop.group property)
- hive: io.hops.hive:3.0.0.14.5, hive.version.short=3.0
- hive.storage.version: 2.6.1.2
- Add hive.service.scope / hive.jdbc.scope properties
- Add Hops Maven repositories (nexus.hops.works, archiva.hops.works)
- Exclude com.vlkan:flatbuffers from hive-exec
- Mark reload4j / slf4j-reload4j as provided to prevent JVM VerifyError
  from Hops Hadoop 3.4.x transitive dependency

RSS/Uniffle remote shuffle support (HWORKS-2203):
- SparkConf.isRssEnable() detects RssShuffleManager / UniffleShuffleManager
- DAGScheduler: skip marking files lost when RSS is active
- TaskSetManager: skip shuffle map output loss tracking when RSS is active
- ExecutorAllocationManager: allow dynamic allocation with RSS
- ShuffledRowRDD: return Nil preferred locations when RSS is enabled

Reduce event log flushes (HWORKS-2203):
- EventLoggingListener: only flush on onJobEnd and onApplicationEnd;
  remove unnecessary flush on all other event handlers

Hops Hive 3.0 API compatibility (HWORKS-2203/HWORKS-2770):
- Add DaysWritableV2.scala (replaces DaysWritable for DateWritableV2)
- HiveInspectors: switch DateWritable->DateWritableV2,
  TimestampWritable->TimestampWritableV2, add toSqlTimestamp /
  toEpochMilli conversions for Hive Timestamp/Date types
- TableReader: same toSqlTimestamp / toEpochMilli conversions
- HiveFileFormat: wrap conf in new JobConf() for copyTableJobPropertiesToConf
- IsolatedClientLoader.hiveVersion: fix parsing of extended version strings
  like "3.0.0.14.5" (extra segments break VersionUtils.majorMinorPatchVersion)
- HiveShim: comment out Index APIs removed in Hops Hive 3.0
- HiveClientImpl: replace getIndexes/dropIndex cleanup with direct dropTable;
  add getWithFastCheck fallback chain in getHive

Test fixes for Hops Hive 3.0 (HWORKS-2770):
- OrcFilterSuite / OrcV1FilterSuite: toOldString -> toString
  (Hops Hive 3.0 ORC removed toOldString)
- HiveDDLSuite: replace tryWithResource with manual try/finally for OrcFile.Reader

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch build to Hops libraries:
- hadoop: io.hops:3.4.3.1-EE-RC0 (via hadoop.group property)
- hive: io.hops.hive:3.0.0.14.5, hive.version.short=3.0
- hive.storage.version: 2.6.1.2
- Add hive.service.scope / hive.jdbc.scope properties
- Add Hops Maven repositories (nexus.hops.works, archiva.hops.works)
- Exclude com.vlkan:flatbuffers from hive-exec
- Mark reload4j / slf4j-reload4j as provided to prevent JVM VerifyError
  from Hops Hadoop 3.4.x transitive dependency

RSS/Uniffle remote shuffle support (HWORKS-2203):
- SparkConf.isRssEnable() detects RssShuffleManager / UniffleShuffleManager
- DAGScheduler: skip marking files lost when RSS is active
- TaskSetManager: skip shuffle map output loss tracking when RSS is active
- ExecutorAllocationManager: allow dynamic allocation with RSS
- ShuffledRowRDD: return Nil preferred locations when RSS is enabled

Reduce event log flushes (HWORKS-2203):
- EventLoggingListener: only flush on onJobEnd and onApplicationEnd;
  remove unnecessary flush on all other event handlers

Hops Hive 3.0 API compatibility (HWORKS-2203/HWORKS-2770):
- Add DaysWritableV2.scala (replaces DaysWritable for DateWritableV2)
- HiveInspectors: switch DateWritable->DateWritableV2,
  TimestampWritable->TimestampWritableV2, add toSqlTimestamp /
  toEpochMilli conversions for Hive Timestamp/Date types
- TableReader: same toSqlTimestamp / toEpochMilli conversions
- HiveFileFormat: wrap conf in new JobConf() for copyTableJobPropertiesToConf
- IsolatedClientLoader.hiveVersion: fix parsing of extended version strings
  like "3.0.0.14.5" (extra segments break VersionUtils.majorMinorPatchVersion)
- HiveShim: comment out Index APIs removed in Hops Hive 3.0
- HiveClientImpl: replace getIndexes/dropIndex cleanup with direct dropTable;
  add getWithFastCheck fallback chain in getHive

Test fixes for Hops Hive 3.0 (HWORKS-2770):
- OrcFilterSuite / OrcV1FilterSuite: toOldString -> toString
  (Hops Hive 3.0 ORC removed toOldString)
- HiveDDLSuite: replace tryWithResource with manual try/finally for OrcFile.Reader

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…4.3.2-EE-SNAPSHOT

- Set project version to 4.1.3.0 across all module poms
- Upgrade io.hops.hive from 3.0.0.14.5 to 4.1.0; add hive-udf and
  hive-standalone-metastore-server dependencies and adapt HiveShim,
  HiveClientImpl, HiveInspectors, TableReader and hive execution
  classes to the Hive 4 APIs
- Upgrade io.hops hadoop to 3.4.3.2-EE-SNAPSHOT; use HdfsConstants
  SafeModeAction in FsHistoryProvider and depend on unshaded
  woodstox-core for the XML data source

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant