[ https://issues.apache.org/jira/browse/SENTRY-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16612393#comment-16612393 ]
Na Li commented on SENTRY-2185: ------------------------------- I am working on it > Performance Issue: Saving MAuthzPathsMapping should be done in batch for path > full snapshot > ------------------------------------------------------------------------------------------- > > Key: SENTRY-2185 > URL: https://issues.apache.org/jira/browse/SENTRY-2185 > Project: Sentry > Issue Type: Bug > Components: Sentry > Affects Versions: 2.1.0 > Reporter: Na Li > Assignee: Na Li > Priority: Major > > From the code below, for each MAuthzPathsMapping, there is a query to save > each MAuthzPathsMapping instance. Need to save the changes in batch. > {code:java} > public void persistFullPathsImage(final Map<String, Collection<String>> > authzPaths, > final long notificationID) throws Exception { > tm.executeTransactionWithRetry( > pm -> { > pm.setDetachAllOnCommit(false); // No need to detach objects > deleteNotificationsSince(pm, notificationID + 1); > // persist the notidicationID > pm.makePersistent(new MSentryHmsNotification(notificationID)); > // persist the full snapshot > long snapshotID = getCurrentAuthzPathsSnapshotID(pm); > long nextSnapshotID = snapshotID + 1; > pm.makePersistent(new MAuthzPathsSnapshotId(nextSnapshotID)); > LOGGER.info("Attempting to commit new HMS snapshot with ID = > {}", nextSnapshotID); > for (Map.Entry<String, Collection<String>> authzPath : > authzPaths.entrySet()) { > pm.makePersistent(new MAuthzPathsMapping(nextSnapshotID, > authzPath.getKey(), authzPath.getValue())); > } > return null; > }); > }{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)