Skip to content

[GOBBLIN-1843] Utility for detecting non optional unions should convert dataset urn to hive compatible format#3705

Merged
ZihanLi58 merged 3 commits intoapache:masterfrom
homatthew:mh-nonoptionalunion-fix-GOBBLIN-1843
Jun 15, 2023
Merged

[GOBBLIN-1843] Utility for detecting non optional unions should convert dataset urn to hive compatible format#3705
ZihanLi58 merged 3 commits intoapache:masterfrom
homatthew:mh-nonoptionalunion-fix-GOBBLIN-1843

Conversation

@homatthew
Copy link
Copy Markdown
Contributor

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
    Datasets with URN that have a - will be represented in Hive with an _. Failing to do so will mean the code will fail to pull up the correct hive table

This code will replace all '-' with '_' before querying hive. We do not need to consider lower / uppercase because hive is case insensitive

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:
image

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

return new DbAndTable(m.group(1), m.group(2));

// hive does not use '-' in the table name, so they are replaced with '_'
String hiveTableName = m.group(2).replaceAll("-", "_");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's create a new method and use it here and in HiveTable.java line 45

@homatthew homatthew force-pushed the mh-nonoptionalunion-fix-GOBBLIN-1843 branch from 2a3d8b2 to 9bd3daf Compare June 14, 2023 23:04
@homatthew homatthew force-pushed the mh-nonoptionalunion-fix-GOBBLIN-1843 branch from 9bd3daf to 8e372ce Compare June 14, 2023 23:34
@homatthew homatthew force-pushed the mh-nonoptionalunion-fix-GOBBLIN-1843 branch from 8e372ce to 4115837 Compare June 14, 2023 23:49
Copy link
Copy Markdown
Contributor

@ZihanLi58 ZihanLi58 left a comment

Choose a reason for hiding this comment

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

+1

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

Merging #3705 (4115837) into master (fc508ca) will increase coverage by 2.61%.
The diff coverage is 75.00%.

@@             Coverage Diff              @@
##             master    #3705      +/-   ##
============================================
+ Coverage     46.87%   49.48%   +2.61%     
+ Complexity    10771     9317    -1454     
============================================
  Files          2138     1756     -382     
  Lines         84139    68480   -15659     
  Branches       9357     7810    -1547     
============================================
- Hits          39436    33885    -5551     
+ Misses        41102    31455    -9647     
+ Partials       3601     3140     -461     
Impacted Files Coverage Δ
.../org/apache/gobblin/compaction/hive/HiveTable.java 0.00% <0.00%> (ø)
...che/gobblin/hive/metastore/HiveMetaStoreUtils.java 56.27% <66.66%> (-0.05%) ⬇️
...ment/dataset/DatasetsFinderFilteringDecorator.java 89.18% <100.00%> (+0.95%) ⬆️
...tes/DatasetHiveSchemaContainsNonOptionalUnion.java 70.83% <100.00%> (ø)

... and 404 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@ZihanLi58 ZihanLi58 merged commit ee17b15 into apache:master Jun 15, 2023
phet added a commit to phet/gobblin that referenced this pull request Aug 15, 2023
* upstream/master:
  Fix bug with total count watermark whitelist (apache#3724)
  [GOBBLIN-1858] Fix logs relating to multi-active lease arbiter (apache#3720)
  [GOBBLIN-1838] Introduce total count based completion watermark (apache#3701)
  Correct num of failures (apache#3722)
  [GOBBLIN- 1856] Add flow trigger handler leasing metrics (apache#3717)
  [GOBBLIN-1857] Add override flag to force generate a job execution id based on gobbl… (apache#3719)
  [GOBBLIN-1855] Metadata writer tests do not work in isolation after upgrading to Iceberg 1.2.0 (apache#3718)
  Remove unused ORC writer code (apache#3710)
  [GOBBLIN-1853] Reduce # of Hive calls during schema related updates (apache#3716)
  [GOBBLIN-1851] Unit tests for MysqlMultiActiveLeaseArbiter with Single Participant (apache#3715)
  [GOBBLIN-1848] Add tags to dagmanager metrics for extensibility (apache#3712)
  [GOBBLIN-1849] Add Flow Group & Name to Job Config for Job Scheduler (apache#3713)
  [GOBBLIN-1841] Move disabling of current live instances to the GobblinClusterManager startup (apache#3708)
  [GOBBLIN-1840] Helix Job scheduler should not try to replace running workflow if within configured time (apache#3704)
  [GOBBLIN-1847] Exceptions in the JobLauncher should try to delete the existing workflow if it is launched (apache#3711)
  [GOBBLIN-1842] Add timers to GobblinMCEWriter (apache#3703)
  [GOBBLIN-1844] Ignore workflows marked for deletion when calculating container count (apache#3709)
  [GOBBLIN-1846] Validate Multi-active Scheduler with Logs (apache#3707)
  [GOBBLIN-1845] Changes parallelstream to stream in DatasetsFinderFilteringDecorator  to avoid classloader issues in spark (apache#3706)
  [GOBBLIN-1843] Utility for detecting non optional unions should convert dataset urn to hive compatible format (apache#3705)
  [GOBBLIN-1837] Implement multi-active, non blocking for leader host (apache#3700)
  [GOBBLIN-1835]Upgrade Iceberg Version from 0.11.1 to 1.2.0 (apache#3697)
  Update CHANGELOG to reflect changes in 0.17.0
  Reserving 0.18.0 version for next release
  [GOBBLIN-1836] Ensuring Task Reliability: Handling Job Cancellation and Graceful Exits for Error-Free Completion (apache#3699)
  [GOBBLIN-1805] Check watermark for the most recent hour for quiet topics (apache#3698)
  [GOBBLIN-1825]Hive retention job should fail if deleting underlying files fail (apache#3687)
  [GOBBLIN-1823] Improving Container Calculation and Allocation Methodology (apache#3692)
  [GOBBLIN-1830] Improving Container Transition Tracking in Streaming Data Ingestion (apache#3693)
  [GOBBLIN-1833]Emit Completeness watermark information in snapshotCommitEvent (apache#3696)
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.

5 participants