-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59720/
-----------------------------------------------------------
(Updated June 14, 2017, 6:25 p.m.)
Review request for sentry, Alexander Kolbasov, kalyan kumar kalvagadda, and
Vamsee Yarlagadda.
Changes
-------
Addressed comments from Sasha:
- Incremement the HMS image ID on the application. The HMS image ID is a
primary key on the MHiveMetastoreImage, so if another thread attempts to
persist the same ID, then the other thread will fail.
- Use just the HMS Image ID as a reference on the MAuthzPathsMapping to avoid
datanucleus to create hidden tables
Bugs: SENTRY-1781
https://issues.apache.org/jira/browse/SENTRY-1781
Repository: sentry
Description
-------
This patch only adds an extra column to the MAuthzPathsMapping table that
contains an image identifier that will be used to detect full snapshots. This
patch does not increment the identifier yet, it only uses 0 for now.
TIPS for reviewers:
- package.jdo adds a new column name AUTHZ_IMG_ID to the AUTHZ_MAPS_MAPPING
table used to identify the paths that are part of a new hive snapshot.
- MAuthzPathsMapping.java adds the the new column and API to handle JDO
requests.
- SentryStore.java modifies all methods that interact with the snapshots. It
makes sure that
when persisting a new snapshot, then the authzImgID is incremented and the
old one is
deleted. Also it makes sure that retrieve/add/delete/rename/update uses the
current
authzImgID whenver they're called.
- TestSentryStore.java adds unit tests to verify that all SentryStore API work
correctly
when a new hive snapshot is created.
Diffs (updated)
-----
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MAuthzPathsMapping.java
f51894bb7e109c37997e7134e07a82f46c0a3c44
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MHiveMetastoreImage.java
PRE-CREATION
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/package.jdo
459939b7600e05d57c7e11eefe20c2591cac0b34
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
8b19c88e52400ce096cf8f38fe2ca0313f7e46e1
sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
29878c5f1213062cb9d0a1f9666a19004b67dc52
Diff: https://reviews.apache.org/r/59720/diff/8/
Changes: https://reviews.apache.org/r/59720/diff/7-8/
Testing
-------
All unit tests run locally, but there are some flaky tests on Jenkins no
related to this patch.
Thanks,
Sergio Pena