You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2014/10/31 22:02:23 UTC

[1/5] git commit: ARGUS-142:Fixed no audit info shown for user role changes

Repository: incubator-argus
Updated Branches:
  refs/heads/argus2ranger eca811d21 -> a28f5f6b6


ARGUS-142:Fixed no audit info shown for user role changes

Signed-off-by: sneethiraj <sn...@apache.org>


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

Branch: refs/heads/argus2ranger
Commit: e652492d6aa716e303e78a380bea3b126d39eca6
Parents: a519885
Author: vperiasamy <vp...@hortonworks.com>
Authored: Thu Oct 30 16:12:37 2014 -0700
Committer: sneethiraj <sn...@apache.org>
Committed: Thu Oct 30 18:13:53 2014 -0700

----------------------------------------------------------------------
 .../src/main/java/com/xasecure/biz/XUserMgr.java         |  1 +
 .../src/main/java/com/xasecure/service/XUserService.java |  3 +++
 .../webapp/scripts/views/reports/OperationDiffDetail.js  | 11 +++++++++++
 3 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/e652492d/security-admin/src/main/java/com/xasecure/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/biz/XUserMgr.java b/security-admin/src/main/java/com/xasecure/biz/XUserMgr.java
index 123c2dd..45922a9 100644
--- a/security-admin/src/main/java/com/xasecure/biz/XUserMgr.java
+++ b/security-admin/src/main/java/com/xasecure/biz/XUserMgr.java
@@ -139,6 +139,7 @@ public class XUserMgr extends XUserMgrBase {
 		vXPortalUser.setFirstName(vXUser.getFirstName());
 		vXPortalUser.setLastName(vXUser.getLastName());
 		vXPortalUser.setEmailAddress(vXUser.getEmailAddress());
+		vXPortalUser.setPublicScreenName(vXUser.getFirstName() +" "+ vXUser.getLastName());
 		vXPortalUser.setPassword(actualPassword);
 		vXPortalUser.setUserRoleList(vXUser.getUserRoleList());
 		vXPortalUser = userMgr.createDefaultAccountUser(vXPortalUser);

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/e652492d/security-admin/src/main/java/com/xasecure/service/XUserService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XUserService.java b/security-admin/src/main/java/com/xasecure/service/XUserService.java
index 6e7e392..3d8505a 100644
--- a/security-admin/src/main/java/com/xasecure/service/XUserService.java
+++ b/security-admin/src/main/java/com/xasecure/service/XUserService.java
@@ -83,6 +83,9 @@ public class XUserService extends XUserServiceBase<XXUser, VXUser> {
 				"Email Address", false));
 		trxLogAttrs.put("password", new VTrxLogAttr("password", "Password",
 				false));
+		trxLogAttrs.put("userRoleList", new VTrxLogAttr("userRoleList", "User Role",
+				false));
+		
 	}
 
 	public XUserService() {

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/e652492d/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
index bd346d0..e13f6c3 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
@@ -355,6 +355,17 @@ define(function(require){
 					if(m.get('action') == 'delete' || m.get('action') == 'update')
 						that.previousGroupList.push(m.get('parentObjectName'));
 					modelArr.push(m);
+				}else if(m.get('attributeName') == 'User Role'){
+					var newRole =  m.get('newValue').replace(/[[\]]/g,'');
+					var prevRole = m.get('previousValue').replace(/[[\]]/g,'');
+					if( newRole == "ROLE_USER")
+						m.set('newValue',XAEnums.UserRoles.ROLE_USER.label)
+					else if(newRole == "ROLE_SYS_ADMIN")
+						m.set('newValue',XAEnums.UserRoles.ROLE_SYS_ADMIN.label)
+					if(prevRole == "ROLE_USER")
+						m.set('previousValue',XAEnums.UserRoles.ROLE_USER.label)
+					else if(prevRole == "ROLE_SYS_ADMIN")
+						m.set('previousValue',XAEnums.UserRoles.ROLE_SYS_ADMIN.label)
 				}else{
 					if(!m.has('attributeName'))
 						modelArr.push(m);


[2/5] git commit: ARGUS-109:Fixed typo in license message

Posted by sn...@apache.org.
ARGUS-109:Fixed typo in license message

Signed-off-by: sneethiraj <sn...@apache.org>


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

Branch: refs/heads/argus2ranger
Commit: f72e61f6eff8ff49bfde82d748b8d8f0d104a6e7
Parents: e652492
Author: vperiasamy <vp...@hortonworks.com>
Authored: Thu Oct 30 17:01:16 2014 -0700
Committer: sneethiraj <sn...@apache.org>
Committed: Thu Oct 30 18:17:44 2014 -0700

----------------------------------------------------------------------
 .../scripts/modules/globalize/message/.en.js.swp   | Bin 20480 -> 0 bytes
 .../webapp/scripts/modules/globalize/message/en.js |   2 +-
 .../main/webapp/templates/common/Footer_tmpl.html  |   4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/f72e61f6/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp b/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp
deleted file mode 100644
index ebcffc3..0000000
Binary files a/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/f72e61f6/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index 8592cf8..3a157e1 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -223,7 +223,7 @@ define(function(require) {
 				xaSecure					: 'XA Secure',
 				hortonWorksInc				: 'Hortonworks Inc.',
 				listOfPlugins				: 'See third-party tools/resources that Ranger uses and their respective authors.',
-				licenceText                 : 'Licensed under the Apache Licence, Version 2.0',
+				licenseText                 : 'Licensed under the Apache License, Version 2.0',
 				
 	
 				// Menu

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/f72e61f6/security-admin/src/main/webapp/templates/common/Footer_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/common/Footer_tmpl.html b/security-admin/src/main/webapp/templates/common/Footer_tmpl.html
index 47e639c..b934397 100644
--- a/security-admin/src/main/webapp/templates/common/Footer_tmpl.html
+++ b/security-admin/src/main/webapp/templates/common/Footer_tmpl.html
@@ -18,7 +18,7 @@
 <div id="main-footer">
 	<div class="pull-left copy-right-text">
 			<p class="text-left">
-				<a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0">{{tt 'h.licenceText'}}</a>
+				<a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0">{{tt 'h.licenseText'}}</a>
 			</p>
 			<p class="text-left">
 				<a target="_blank" href="copyrightPluginList.html">{{tt 'h.listOfPlugins'}}</a>
@@ -42,4 +42,4 @@
 			</li> -->
 		</ul>
 	</div>
-</div>
\ No newline at end of file
+</div>


[5/5] git commit: Merge remote-tracking branch 'origin/master' into argus2ranger

Posted by sn...@apache.org.
Merge remote-tracking branch 'origin/master' into argus2ranger


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

Branch: refs/heads/argus2ranger
Commit: a28f5f6b62d4b89e04e99d7f1dfb1f02c089c378
Parents: eca811d fa2ff5a
Author: sneethiraj <sn...@apache.org>
Authored: Fri Oct 31 14:01:17 2014 -0700
Committer: sneethiraj <sn...@apache.org>
Committed: Fri Oct 31 14:01:17 2014 -0700

----------------------------------------------------------------------
 .../hbase/XaSecureAuthorizationCoprocessor.java |  23 +++++++-
 .../XaSecureAuthorizationCoprocessorBase.java   |  57 ++++++++++++++++++-
 pom.xml                                         |   2 +-
 .../main/java/com/xasecure/biz/XUserMgr.java    |   1 +
 .../java/com/xasecure/service/XUserService.java |   3 +
 .../modules/globalize/message/.en.js.swp        | Bin 20480 -> 0 bytes
 .../scripts/modules/globalize/message/en.js     |   2 +-
 .../views/reports/OperationDiffDetail.js        |  11 ++++
 .../webapp/templates/common/Footer_tmpl.html    |   4 +-
 .../process/UnixUserGroupBuilder.java           |  41 ++++++-------
 10 files changed, 112 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/a28f5f6b/pom.xml
----------------------------------------------------------------------


[4/5] git commit: ARGUS-138: Fixed the bug that caused code to let some of the users with userid below MIN_UNIX_USER_ID_TO_SYNC

Posted by sn...@apache.org.
ARGUS-138: Fixed the bug that caused code to let some of the users with userid below MIN_UNIX_USER_ID_TO_SYNC

Signed-off-by: Madhan Neethiraj <ma...@apache.org>


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

Branch: refs/heads/argus2ranger
Commit: fa2ff5ae72077b5b6f764a6386c15c661570d6b8
Parents: 38c3594
Author: Alok Lal <al...@hortonworks.com>
Authored: Wed Oct 29 10:38:17 2014 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Thu Oct 30 19:07:39 2014 -0700

----------------------------------------------------------------------
 .../process/UnixUserGroupBuilder.java           | 41 ++++++++------------
 1 file changed, 17 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/fa2ff5ae/ugsync/src/main/java/com/xasecure/unixusersync/process/UnixUserGroupBuilder.java
----------------------------------------------------------------------
diff --git a/ugsync/src/main/java/com/xasecure/unixusersync/process/UnixUserGroupBuilder.java b/ugsync/src/main/java/com/xasecure/unixusersync/process/UnixUserGroupBuilder.java
index b457e7a..8d4af61 100644
--- a/ugsync/src/main/java/com/xasecure/unixusersync/process/UnixUserGroupBuilder.java
+++ b/ugsync/src/main/java/com/xasecure/unixusersync/process/UnixUserGroupBuilder.java
@@ -42,8 +42,8 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 
 	private UserGroupSyncConfig config = UserGroupSyncConfig.getInstance() ;
 	private Map<String,List<String>>  	user2GroupListMap = new HashMap<String,List<String>>();
+	private Map<String,List<String>>  	internalUser2GroupListMap = new HashMap<String,List<String>>();
 	private Map<String,String>			groupId2groupNameMap = new HashMap<String,String>() ;
-	private List<String>				userList = new ArrayList<String>() ;
 	private int 						minimumUserId  = 0 ;
 	
 	private long  passwordFileModiiedAt = 0 ;
@@ -98,7 +98,6 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 	private void buildUserGroupInfo() throws Throwable {
 		user2GroupListMap = new HashMap<String,List<String>>();
 		groupId2groupNameMap = new HashMap<String,String>() ;
-		userList = new ArrayList<String>() ;
 
 		buildUnixGroupList(); 
 		buildUnixUserList();
@@ -107,8 +106,8 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 		}
 	}
 	
-	public void print() {
-		for(String user : userList) {
+	private void print() {
+		for(String user : user2GroupListMap.keySet()) {
 			LOG.debug("USER:" + user) ;
 			List<String> groups = user2GroupListMap.get(user) ;
 			if (groups != null) {
@@ -119,14 +118,6 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 		}
 	}
 	
-	private List<String>  getUserList() {
-		return userList ;
-	}
-	
-	private List<String>  getGroupListForUser(String aUserName) {
-		return user2GroupListMap.get(aUserName) ;
-	}
-	
 	private void buildUnixUserList() throws Throwable {
 		
 		File f = new File(UNIX_USER_PASSWORD_FILE) ;
@@ -168,22 +159,24 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 				}
 									
 				if (numUserId >= minimumUserId ) {
-					userList.add(userName) ;
 					String groupName = groupId2groupNameMap.get(groupId) ;
 					if (groupName != null) {
-						List<String> groupList = user2GroupListMap.get(userName) ;
-						if (groupList == null) {
-							groupList = new ArrayList<String>() ;
-							user2GroupListMap.put(userName, groupList) ;
-						}
-						if (! groupList.contains(groupName)) {
-							groupList.add(groupName) ;
+						List<String> groupList = new ArrayList<String>();
+						groupList.add(groupName);
+						// do we already know about this use's membership to other groups?  If so add those, too
+						if (internalUser2GroupListMap.containsKey(userName)) {
+							groupList.addAll(internalUser2GroupListMap.get(userName));
 						}
+						user2GroupListMap.put(userName, groupList);
 					}
 					else {
-						LOG.warn("Group Name could not be found for group id: [" + groupId + "]") ;
+						// we are ignoring the possibility that this user was present in /etc/groups.
+						LOG.warn("Group Name could not be found for group id: [" + groupId + "]. Skipping adding user [" + userName + "] with id [" + userId + "].") ;
 					}
 				}
+				else {
+					LOG.debug("Skipping user [" + userName + "] since its userid [" + userId + "] is less than minuserid limit [" + minimumUserId + "].");
+				}
 			}
 			
 			reader.close() ;
@@ -234,13 +227,13 @@ public class UnixUserGroupBuilder implements UserGroupSource {
 				}
 				
 				groupId2groupNameMap.put(groupId,groupName) ;
-				
+				// also build an internal map of users to their group list which is consulted by user list creator
 				if (groupMembers != null && ! groupMembers.trim().isEmpty()) {
 					for(String user : groupMembers.split(",")) {
-						List<String> groupList = user2GroupListMap.get(user) ;
+						List<String> groupList = internalUser2GroupListMap.get(user) ;
 						if (groupList == null) {
 							groupList = new ArrayList<String>() ;
-							user2GroupListMap.put(user, groupList) ;
+							internalUser2GroupListMap.put(user, groupList) ;
 						}
 						if (! groupList.contains(groupName)) {
 							groupList.add(groupName) ;


[3/5] git commit: ARGUS-143: HBase plug-in updated to authorize bulk-load operations.

Posted by sn...@apache.org.
ARGUS-143: HBase plug-in updated to authorize bulk-load operations.

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

Branch: refs/heads/argus2ranger
Commit: 38c35947034f2e844d0a425ed11c8b718bbf2438
Parents: f72e61f
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Thu Oct 30 18:25:36 2014 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Thu Oct 30 18:25:36 2014 -0700

----------------------------------------------------------------------
 .../hbase/XaSecureAuthorizationCoprocessor.java | 23 ++++++--
 .../XaSecureAuthorizationCoprocessorBase.java   | 57 +++++++++++++++++++-
 pom.xml                                         |  2 +-
 3 files changed, 77 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/38c35947/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessor.java
----------------------------------------------------------------------
diff --git a/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessor.java b/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessor.java
index 2353873..4cd2690 100644
--- a/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessor.java
+++ b/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessor.java
@@ -84,6 +84,8 @@ import org.apache.hadoop.hbase.protobuf.ResponseConverter;
 import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos;
 import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;
 import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;
+import org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.CleanupBulkLoadRequest;
+import org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.PrepareBulkLoadRequest;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.InternalScanner;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
@@ -365,9 +367,12 @@ public class XaSecureAuthorizationCoprocessor extends XaSecureAuthorizationCopro
 		}
 	}
 	protected void requirePermission(String request, Permission.Action perm, RegionCoprocessorEnvironment env, Collection<byte[]> families) throws IOException {
-		HashMap<byte[], Set<byte[]>> familyMap = new HashMap<byte[], Set<byte[]>>();
-		for (byte[] family : families) {
-			familyMap.put(family, null);
+		HashMap<byte[], Set<byte[]>> familyMap = new HashMap<byte[], Set<byte[]>>();
+
+		if(families != null) {
+			for (byte[] family : families) {
+				familyMap.put(family, null);
+			}
 		}
 		requirePermission(request, perm, env, familyMap);
 	}
@@ -958,6 +963,18 @@ public class XaSecureAuthorizationCoprocessor extends XaSecureAuthorizationCopro
 	public void postMerge(ObserverContext<RegionServerCoprocessorEnvironment> c, HRegion regionA, HRegion regionB, HRegion mergedRegion) throws IOException {
 		auditEvent("mergeRegions", regionA.getTableDesc().getTableName().getName(), null, null, null, null, getActiveUser(), accessGrantedFlag);
 	}
+
+	public void prePrepareBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, PrepareBulkLoadRequest request) throws IOException {
+		List<byte[]> cfs = null;
+
+		requirePermission("prePrepareBulkLoad", Permission.Action.WRITE, ctx.getEnvironment(), cfs);
+	}
+
+	public void preCleanupBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, CleanupBulkLoadRequest request) throws IOException {
+		List<byte[]> cfs = null;
+
+		requirePermission("preCleanupBulkLoad", Permission.Action.WRITE, ctx.getEnvironment(), cfs);
+	}
 	
 	private void auditEvent(String eventName, byte[] tableName, byte[] columnFamilyName, byte[] qualifierName, byte[] row, byte[] value, User user, short accessFlag) {
 		auditEvent(eventName, Bytes.toString(tableName), Bytes.toString(columnFamilyName), Bytes.toString(qualifierName), row, value, user, accessFlag);

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/38c35947/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessorBase.java
----------------------------------------------------------------------
diff --git a/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessorBase.java b/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessorBase.java
index 5da6f15..b60a95b 100644
--- a/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessorBase.java
+++ b/hbase-agent/src/main/java/com/xasecure/authorization/hbase/XaSecureAuthorizationCoprocessorBase.java
@@ -29,19 +29,24 @@ import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver;
+import org.apache.hadoop.hbase.coprocessor.BulkLoadObserver;
 import org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.MasterObserver;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
+import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment;
 import org.apache.hadoop.hbase.coprocessor.RegionServerObserver;
 import org.apache.hadoop.hbase.master.RegionPlan;
 import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;
+import org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.CleanupBulkLoadRequest;
+import org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.PrepareBulkLoadRequest;
 import org.apache.hadoop.hbase.regionserver.HRegion;
+import org.apache.hadoop.hbase.replication.ReplicationEndpoint;
 import org.apache.hadoop.hbase.security.access.Permission;
 import org.apache.hadoop.hbase.security.access.Permission.Action;
 
 public class XaSecureAuthorizationCoprocessorBase extends BaseRegionObserver
-		implements MasterObserver, RegionServerObserver {
+		implements MasterObserver, RegionServerObserver, BulkLoadObserver {
 
 	@Override
 	public void preStopRegionServer(
@@ -613,4 +618,54 @@ public class XaSecureAuthorizationCoprocessorBase extends BaseRegionObserver
 		// TODO Auto-generated method stub
 
 	}
+
+	public void preRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void postRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+	
+	public void preTableFlush(final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void postTableFlush(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void preTruncateTableHandler(final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void postTruncateTableHandler(final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void preTruncateTable(final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public void postTruncateTable(final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException {
+			// TODO Auto-generated method stub
+
+	}
+
+	public ReplicationEndpoint postCreateReplicationEndPoint(ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {
+		return endpoint;
+	}
+
+	public void prePrepareBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, PrepareBulkLoadRequest request) throws IOException {
+	}
+
+	public void preCleanupBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, CleanupBulkLoadRequest request) throws IOException {
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/38c35947/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 05f9236..a7fcc7c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
 		<hadoop-common.version>3.0.0-SNAPSHOT</hadoop-common.version>
 		<hadoop.version>3.0.0-SNAPSHOT</hadoop.version>
 		<hamcrest.all.version>1.3</hamcrest.all.version>
-		<hbase.version>0.98.4-hadoop2</hbase.version>
+		<hbase.version>0.99.2-SNAPSHOT</hbase.version>
 		<hive.version>0.13.0</hive.version>
 		<javassist.version>3.12.1.GA</javassist.version>
 		<javax.persistence.version>2.1.0</javax.persistence.version>