Repository: incubator-ranger
Updated Branches:
  refs/heads/master 87fe3446d -> e3d50db85


RANGER-1104: Catching and Logging DB transaction exceptions during Ranger 
startup

Signed-off-by: Velmurugan Periasamy <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/e3d50db8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/e3d50db8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/e3d50db8

Branch: refs/heads/master
Commit: e3d50db85c289f30f71ba3ba27eb23192a554281
Parents: 87fe344
Author: Sailaja Polavarapu <[email protected]>
Authored: Fri Jul 15 13:48:33 2016 -0700
Committer: Velmurugan Periasamy <[email protected]>
Committed: Sun Jul 17 08:53:41 2016 -0400

----------------------------------------------------------------------
 .../org/apache/ranger/biz/ServiceDBStore.java   | 36 +++++++++++---------
 1 file changed, 20 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e3d50db8/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 9af5b5f..7947d4b 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -279,15 +279,18 @@ public class ServiceDBStore extends AbstractServiceStore {
                                        final ServiceDBStore dbStore = this;
                                        predicateUtil = new 
ServicePredicateUtil(dbStore);
 
-
-                                       txTemplate.execute(new 
TransactionCallback<Object>() {
-                                               @Override
-                           public Object doInTransaction(TransactionStatus 
status) {
-                                                       
EmbeddedServiceDefsUtil.instance().init(dbStore);
-                                                       getServiceUpgraded();
-                                                       return null;
-                           }
-                                       });
+                                       try {
+                                               txTemplate.execute(new 
TransactionCallback<Object>() {
+                                                       @Override
+                                                       public Object 
doInTransaction(TransactionStatus status) {
+                                                               
EmbeddedServiceDefsUtil.instance().init(dbStore);
+                                                               
getServiceUpgraded();
+                                                               return null;
+                                                       }
+                                               });
+                                       } catch (Throwable ex) {
+                                               
LOG.fatal("ServiceDefDBStore.initStore(): Failed to update DB: " + ex);
+                                       }
 
                                        legacyServiceDefsInitDone = true;
                                }
@@ -1507,7 +1510,6 @@ public class ServiceDBStore extends AbstractServiceStore {
                        service.setCreateTime(existing.getCreateTime());
                        service.setGuid(existing.getGuid());
                        service.setVersion(existing.getVersion());
-
                        service = svcService.update(service);
 
                        if (hasTagServiceValueChanged || hasIsEnabledChanged) {
@@ -1698,9 +1700,7 @@ public class ServiceDBStore extends AbstractServiceStore {
                }
 
                RangerServiceList serviceList = 
svcService.searchRangerServices(filter);
-
                predicateUtil.applyFilter(serviceList.getServices(), filter);
-
                List<RangerService> ret = serviceList.getServices();
 
                if (LOG.isDebugEnabled()) {
@@ -3749,7 +3749,9 @@ public class ServiceDBStore extends AbstractServiceStore {
                }
        }
        public void getServiceUpgraded(){
+               LOG.info("==> ServiceDBStore.getServiceUpgraded()");
                updateServiceWithCustomProperty();
+               LOG.info("<== ServiceDBStore.getServiceUpgraded()");
        }
        private void updateServiceWithCustomProperty() {                
                        LOG.info("Adding custom properties to services");
@@ -3760,6 +3762,7 @@ public class ServiceDBStore extends AbstractServiceStore {
                                        String serviceUser = 
PropertiesUtil.getProperty("ranger.plugins."+rangerService.getType()+".serviceuser");
                                        if(!StringUtils.isEmpty(serviceUser)){
                                                boolean chkServiceUpdate = 
false;
+                                               LOG.debug("customproperty = " + 
rangerService.getConfigs().get(ServiceREST.Allowed_User_List_For_Download) + " 
for service = " + rangerService.getName());
                                                
if(!rangerService.getConfigs().containsKey(ServiceREST.Allowed_User_List_For_Download)){
                                                        
rangerService.getConfigs().put(ServiceREST.Allowed_User_List_For_Download, 
serviceUser);
                                                        chkServiceUpdate = true;
@@ -3773,15 +3776,16 @@ public class ServiceDBStore extends 
AbstractServiceStore {
                                                        chkServiceUpdate = true;
                                }
                                if(chkServiceUpdate){
-                                                       
updateService(rangerService);
+                                       updateService(rangerService);
                                                        
if(LOG.isDebugEnabled()){
                                                                
LOG.debug("Updated service "+rangerService.getName()+" with custom properties 
in secure environment");
                                                        }
                                }
                                        }
                                }
-                       } catch (Exception e) {
-                               LOG.error("Error getting Services : 
"+e.getMessage());
-                       }               
+                       } catch (Throwable e) {
+                               LOG.fatal("updateServiceWithCustomProperty 
failed with exception : "+e.getMessage());
+                               return;
+                       }
        }
 }

Reply via email to