http://git-wip-us.apache.org/repos/asf/hbase-site/blob/495ddb86/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html index a8f5704..7230e95 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html @@ -1082,56 +1082,60 @@ <span class="sourceLineNo">1074</span> public ReturnCode filterKeyValue(Cell cell) throws IOException {<a name="line.1074"></a> <span class="sourceLineNo">1075</span> List<Tag> putVisTags = new ArrayList<>();<a name="line.1075"></a> <span class="sourceLineNo">1076</span> Byte putCellVisTagsFormat = VisibilityUtils.extractVisibilityTags(cell, putVisTags);<a name="line.1076"></a> -<span class="sourceLineNo">1077</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1077"></a> -<span class="sourceLineNo">1078</span> .getInstance().getVisibilityLabelService()<a name="line.1078"></a> -<span class="sourceLineNo">1079</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1079"></a> -<span class="sourceLineNo">1080</span> deleteCellVisTagsFormat);<a name="line.1080"></a> -<span class="sourceLineNo">1081</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1081"></a> -<span class="sourceLineNo">1082</span> }<a name="line.1082"></a> -<span class="sourceLineNo">1083</span> }<a name="line.1083"></a> -<span class="sourceLineNo">1084</span><a name="line.1084"></a> -<span class="sourceLineNo">1085</span> /**<a name="line.1085"></a> -<span class="sourceLineNo">1086</span> * A RegionServerObserver impl that provides the custom<a name="line.1086"></a> -<span class="sourceLineNo">1087</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1087"></a> -<span class="sourceLineNo">1088</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1088"></a> -<span class="sourceLineNo">1089</span> * replicated as string. The value for the configuration should be<a name="line.1089"></a> -<span class="sourceLineNo">1090</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1090"></a> -<span class="sourceLineNo">1091</span> */<a name="line.1091"></a> -<span class="sourceLineNo">1092</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1092"></a> -<span class="sourceLineNo">1093</span> private Configuration conf;<a name="line.1093"></a> -<span class="sourceLineNo">1094</span> private VisibilityLabelService visibilityLabelService;<a name="line.1094"></a> -<span class="sourceLineNo">1095</span><a name="line.1095"></a> -<span class="sourceLineNo">1096</span> @Override<a name="line.1096"></a> -<span class="sourceLineNo">1097</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1097"></a> -<span class="sourceLineNo">1098</span> this.conf = env.getConfiguration();<a name="line.1098"></a> -<span class="sourceLineNo">1099</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1099"></a> -<span class="sourceLineNo">1100</span> .getVisibilityLabelService(this.conf);<a name="line.1100"></a> -<span class="sourceLineNo">1101</span> }<a name="line.1101"></a> -<span class="sourceLineNo">1102</span><a name="line.1102"></a> -<span class="sourceLineNo">1103</span> @Override<a name="line.1103"></a> -<span class="sourceLineNo">1104</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1104"></a> +<span class="sourceLineNo">1077</span> if (putVisTags.isEmpty() && deleteCellVisTags.isEmpty()) {<a name="line.1077"></a> +<span class="sourceLineNo">1078</span> // Early out if there are no tags in the cell<a name="line.1078"></a> +<span class="sourceLineNo">1079</span> return ReturnCode.INCLUDE;<a name="line.1079"></a> +<span class="sourceLineNo">1080</span> }<a name="line.1080"></a> +<span class="sourceLineNo">1081</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1081"></a> +<span class="sourceLineNo">1082</span> .getInstance().getVisibilityLabelService()<a name="line.1082"></a> +<span class="sourceLineNo">1083</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1083"></a> +<span class="sourceLineNo">1084</span> deleteCellVisTagsFormat);<a name="line.1084"></a> +<span class="sourceLineNo">1085</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1085"></a> +<span class="sourceLineNo">1086</span> }<a name="line.1086"></a> +<span class="sourceLineNo">1087</span> }<a name="line.1087"></a> +<span class="sourceLineNo">1088</span><a name="line.1088"></a> +<span class="sourceLineNo">1089</span> /**<a name="line.1089"></a> +<span class="sourceLineNo">1090</span> * A RegionServerObserver impl that provides the custom<a name="line.1090"></a> +<span class="sourceLineNo">1091</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1091"></a> +<span class="sourceLineNo">1092</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1092"></a> +<span class="sourceLineNo">1093</span> * replicated as string. The value for the configuration should be<a name="line.1093"></a> +<span class="sourceLineNo">1094</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1094"></a> +<span class="sourceLineNo">1095</span> */<a name="line.1095"></a> +<span class="sourceLineNo">1096</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1096"></a> +<span class="sourceLineNo">1097</span> private Configuration conf;<a name="line.1097"></a> +<span class="sourceLineNo">1098</span> private VisibilityLabelService visibilityLabelService;<a name="line.1098"></a> +<span class="sourceLineNo">1099</span><a name="line.1099"></a> +<span class="sourceLineNo">1100</span> @Override<a name="line.1100"></a> +<span class="sourceLineNo">1101</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1101"></a> +<span class="sourceLineNo">1102</span> this.conf = env.getConfiguration();<a name="line.1102"></a> +<span class="sourceLineNo">1103</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1103"></a> +<span class="sourceLineNo">1104</span> .getVisibilityLabelService(this.conf);<a name="line.1104"></a> <span class="sourceLineNo">1105</span> }<a name="line.1105"></a> <span class="sourceLineNo">1106</span><a name="line.1106"></a> <span class="sourceLineNo">1107</span> @Override<a name="line.1107"></a> -<span class="sourceLineNo">1108</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1108"></a> -<span class="sourceLineNo">1109</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1109"></a> -<span class="sourceLineNo">1110</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1110"></a> -<span class="sourceLineNo">1111</span> }<a name="line.1111"></a> -<span class="sourceLineNo">1112</span> }<a name="line.1112"></a> -<span class="sourceLineNo">1113</span><a name="line.1113"></a> -<span class="sourceLineNo">1114</span> /**<a name="line.1114"></a> -<span class="sourceLineNo">1115</span> * @param t<a name="line.1115"></a> -<span class="sourceLineNo">1116</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1116"></a> -<span class="sourceLineNo">1117</span> */<a name="line.1117"></a> -<span class="sourceLineNo">1118</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1118"></a> -<span class="sourceLineNo">1119</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1119"></a> -<span class="sourceLineNo">1120</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1120"></a> -<span class="sourceLineNo">1121</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1121"></a> -<span class="sourceLineNo">1122</span> parameterBuilder.setValue(<a name="line.1122"></a> -<span class="sourceLineNo">1123</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1123"></a> -<span class="sourceLineNo">1124</span> return parameterBuilder.build();<a name="line.1124"></a> -<span class="sourceLineNo">1125</span> }<a name="line.1125"></a> -<span class="sourceLineNo">1126</span>}<a name="line.1126"></a> +<span class="sourceLineNo">1108</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1108"></a> +<span class="sourceLineNo">1109</span> }<a name="line.1109"></a> +<span class="sourceLineNo">1110</span><a name="line.1110"></a> +<span class="sourceLineNo">1111</span> @Override<a name="line.1111"></a> +<span class="sourceLineNo">1112</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1112"></a> +<span class="sourceLineNo">1113</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1113"></a> +<span class="sourceLineNo">1114</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1114"></a> +<span class="sourceLineNo">1115</span> }<a name="line.1115"></a> +<span class="sourceLineNo">1116</span> }<a name="line.1116"></a> +<span class="sourceLineNo">1117</span><a name="line.1117"></a> +<span class="sourceLineNo">1118</span> /**<a name="line.1118"></a> +<span class="sourceLineNo">1119</span> * @param t<a name="line.1119"></a> +<span class="sourceLineNo">1120</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1120"></a> +<span class="sourceLineNo">1121</span> */<a name="line.1121"></a> +<span class="sourceLineNo">1122</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1122"></a> +<span class="sourceLineNo">1123</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1123"></a> +<span class="sourceLineNo">1124</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1124"></a> +<span class="sourceLineNo">1125</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1125"></a> +<span class="sourceLineNo">1126</span> parameterBuilder.setValue(<a name="line.1126"></a> +<span class="sourceLineNo">1127</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1127"></a> +<span class="sourceLineNo">1128</span> return parameterBuilder.build();<a name="line.1128"></a> +<span class="sourceLineNo">1129</span> }<a name="line.1129"></a> +<span class="sourceLineNo">1130</span>}<a name="line.1130"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/495ddb86/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.VisibilityReplication.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.VisibilityReplication.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.VisibilityReplication.html index a8f5704..7230e95 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.VisibilityReplication.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.VisibilityReplication.html @@ -1082,56 +1082,60 @@ <span class="sourceLineNo">1074</span> public ReturnCode filterKeyValue(Cell cell) throws IOException {<a name="line.1074"></a> <span class="sourceLineNo">1075</span> List<Tag> putVisTags = new ArrayList<>();<a name="line.1075"></a> <span class="sourceLineNo">1076</span> Byte putCellVisTagsFormat = VisibilityUtils.extractVisibilityTags(cell, putVisTags);<a name="line.1076"></a> -<span class="sourceLineNo">1077</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1077"></a> -<span class="sourceLineNo">1078</span> .getInstance().getVisibilityLabelService()<a name="line.1078"></a> -<span class="sourceLineNo">1079</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1079"></a> -<span class="sourceLineNo">1080</span> deleteCellVisTagsFormat);<a name="line.1080"></a> -<span class="sourceLineNo">1081</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1081"></a> -<span class="sourceLineNo">1082</span> }<a name="line.1082"></a> -<span class="sourceLineNo">1083</span> }<a name="line.1083"></a> -<span class="sourceLineNo">1084</span><a name="line.1084"></a> -<span class="sourceLineNo">1085</span> /**<a name="line.1085"></a> -<span class="sourceLineNo">1086</span> * A RegionServerObserver impl that provides the custom<a name="line.1086"></a> -<span class="sourceLineNo">1087</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1087"></a> -<span class="sourceLineNo">1088</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1088"></a> -<span class="sourceLineNo">1089</span> * replicated as string. The value for the configuration should be<a name="line.1089"></a> -<span class="sourceLineNo">1090</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1090"></a> -<span class="sourceLineNo">1091</span> */<a name="line.1091"></a> -<span class="sourceLineNo">1092</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1092"></a> -<span class="sourceLineNo">1093</span> private Configuration conf;<a name="line.1093"></a> -<span class="sourceLineNo">1094</span> private VisibilityLabelService visibilityLabelService;<a name="line.1094"></a> -<span class="sourceLineNo">1095</span><a name="line.1095"></a> -<span class="sourceLineNo">1096</span> @Override<a name="line.1096"></a> -<span class="sourceLineNo">1097</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1097"></a> -<span class="sourceLineNo">1098</span> this.conf = env.getConfiguration();<a name="line.1098"></a> -<span class="sourceLineNo">1099</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1099"></a> -<span class="sourceLineNo">1100</span> .getVisibilityLabelService(this.conf);<a name="line.1100"></a> -<span class="sourceLineNo">1101</span> }<a name="line.1101"></a> -<span class="sourceLineNo">1102</span><a name="line.1102"></a> -<span class="sourceLineNo">1103</span> @Override<a name="line.1103"></a> -<span class="sourceLineNo">1104</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1104"></a> +<span class="sourceLineNo">1077</span> if (putVisTags.isEmpty() && deleteCellVisTags.isEmpty()) {<a name="line.1077"></a> +<span class="sourceLineNo">1078</span> // Early out if there are no tags in the cell<a name="line.1078"></a> +<span class="sourceLineNo">1079</span> return ReturnCode.INCLUDE;<a name="line.1079"></a> +<span class="sourceLineNo">1080</span> }<a name="line.1080"></a> +<span class="sourceLineNo">1081</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1081"></a> +<span class="sourceLineNo">1082</span> .getInstance().getVisibilityLabelService()<a name="line.1082"></a> +<span class="sourceLineNo">1083</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1083"></a> +<span class="sourceLineNo">1084</span> deleteCellVisTagsFormat);<a name="line.1084"></a> +<span class="sourceLineNo">1085</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1085"></a> +<span class="sourceLineNo">1086</span> }<a name="line.1086"></a> +<span class="sourceLineNo">1087</span> }<a name="line.1087"></a> +<span class="sourceLineNo">1088</span><a name="line.1088"></a> +<span class="sourceLineNo">1089</span> /**<a name="line.1089"></a> +<span class="sourceLineNo">1090</span> * A RegionServerObserver impl that provides the custom<a name="line.1090"></a> +<span class="sourceLineNo">1091</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1091"></a> +<span class="sourceLineNo">1092</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1092"></a> +<span class="sourceLineNo">1093</span> * replicated as string. The value for the configuration should be<a name="line.1093"></a> +<span class="sourceLineNo">1094</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1094"></a> +<span class="sourceLineNo">1095</span> */<a name="line.1095"></a> +<span class="sourceLineNo">1096</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1096"></a> +<span class="sourceLineNo">1097</span> private Configuration conf;<a name="line.1097"></a> +<span class="sourceLineNo">1098</span> private VisibilityLabelService visibilityLabelService;<a name="line.1098"></a> +<span class="sourceLineNo">1099</span><a name="line.1099"></a> +<span class="sourceLineNo">1100</span> @Override<a name="line.1100"></a> +<span class="sourceLineNo">1101</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1101"></a> +<span class="sourceLineNo">1102</span> this.conf = env.getConfiguration();<a name="line.1102"></a> +<span class="sourceLineNo">1103</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1103"></a> +<span class="sourceLineNo">1104</span> .getVisibilityLabelService(this.conf);<a name="line.1104"></a> <span class="sourceLineNo">1105</span> }<a name="line.1105"></a> <span class="sourceLineNo">1106</span><a name="line.1106"></a> <span class="sourceLineNo">1107</span> @Override<a name="line.1107"></a> -<span class="sourceLineNo">1108</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1108"></a> -<span class="sourceLineNo">1109</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1109"></a> -<span class="sourceLineNo">1110</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1110"></a> -<span class="sourceLineNo">1111</span> }<a name="line.1111"></a> -<span class="sourceLineNo">1112</span> }<a name="line.1112"></a> -<span class="sourceLineNo">1113</span><a name="line.1113"></a> -<span class="sourceLineNo">1114</span> /**<a name="line.1114"></a> -<span class="sourceLineNo">1115</span> * @param t<a name="line.1115"></a> -<span class="sourceLineNo">1116</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1116"></a> -<span class="sourceLineNo">1117</span> */<a name="line.1117"></a> -<span class="sourceLineNo">1118</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1118"></a> -<span class="sourceLineNo">1119</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1119"></a> -<span class="sourceLineNo">1120</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1120"></a> -<span class="sourceLineNo">1121</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1121"></a> -<span class="sourceLineNo">1122</span> parameterBuilder.setValue(<a name="line.1122"></a> -<span class="sourceLineNo">1123</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1123"></a> -<span class="sourceLineNo">1124</span> return parameterBuilder.build();<a name="line.1124"></a> -<span class="sourceLineNo">1125</span> }<a name="line.1125"></a> -<span class="sourceLineNo">1126</span>}<a name="line.1126"></a> +<span class="sourceLineNo">1108</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1108"></a> +<span class="sourceLineNo">1109</span> }<a name="line.1109"></a> +<span class="sourceLineNo">1110</span><a name="line.1110"></a> +<span class="sourceLineNo">1111</span> @Override<a name="line.1111"></a> +<span class="sourceLineNo">1112</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1112"></a> +<span class="sourceLineNo">1113</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1113"></a> +<span class="sourceLineNo">1114</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1114"></a> +<span class="sourceLineNo">1115</span> }<a name="line.1115"></a> +<span class="sourceLineNo">1116</span> }<a name="line.1116"></a> +<span class="sourceLineNo">1117</span><a name="line.1117"></a> +<span class="sourceLineNo">1118</span> /**<a name="line.1118"></a> +<span class="sourceLineNo">1119</span> * @param t<a name="line.1119"></a> +<span class="sourceLineNo">1120</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1120"></a> +<span class="sourceLineNo">1121</span> */<a name="line.1121"></a> +<span class="sourceLineNo">1122</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1122"></a> +<span class="sourceLineNo">1123</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1123"></a> +<span class="sourceLineNo">1124</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1124"></a> +<span class="sourceLineNo">1125</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1125"></a> +<span class="sourceLineNo">1126</span> parameterBuilder.setValue(<a name="line.1126"></a> +<span class="sourceLineNo">1127</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1127"></a> +<span class="sourceLineNo">1128</span> return parameterBuilder.build();<a name="line.1128"></a> +<span class="sourceLineNo">1129</span> }<a name="line.1129"></a> +<span class="sourceLineNo">1130</span>}<a name="line.1130"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/495ddb86/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html index a8f5704..7230e95 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html @@ -1082,56 +1082,60 @@ <span class="sourceLineNo">1074</span> public ReturnCode filterKeyValue(Cell cell) throws IOException {<a name="line.1074"></a> <span class="sourceLineNo">1075</span> List<Tag> putVisTags = new ArrayList<>();<a name="line.1075"></a> <span class="sourceLineNo">1076</span> Byte putCellVisTagsFormat = VisibilityUtils.extractVisibilityTags(cell, putVisTags);<a name="line.1076"></a> -<span class="sourceLineNo">1077</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1077"></a> -<span class="sourceLineNo">1078</span> .getInstance().getVisibilityLabelService()<a name="line.1078"></a> -<span class="sourceLineNo">1079</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1079"></a> -<span class="sourceLineNo">1080</span> deleteCellVisTagsFormat);<a name="line.1080"></a> -<span class="sourceLineNo">1081</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1081"></a> -<span class="sourceLineNo">1082</span> }<a name="line.1082"></a> -<span class="sourceLineNo">1083</span> }<a name="line.1083"></a> -<span class="sourceLineNo">1084</span><a name="line.1084"></a> -<span class="sourceLineNo">1085</span> /**<a name="line.1085"></a> -<span class="sourceLineNo">1086</span> * A RegionServerObserver impl that provides the custom<a name="line.1086"></a> -<span class="sourceLineNo">1087</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1087"></a> -<span class="sourceLineNo">1088</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1088"></a> -<span class="sourceLineNo">1089</span> * replicated as string. The value for the configuration should be<a name="line.1089"></a> -<span class="sourceLineNo">1090</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1090"></a> -<span class="sourceLineNo">1091</span> */<a name="line.1091"></a> -<span class="sourceLineNo">1092</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1092"></a> -<span class="sourceLineNo">1093</span> private Configuration conf;<a name="line.1093"></a> -<span class="sourceLineNo">1094</span> private VisibilityLabelService visibilityLabelService;<a name="line.1094"></a> -<span class="sourceLineNo">1095</span><a name="line.1095"></a> -<span class="sourceLineNo">1096</span> @Override<a name="line.1096"></a> -<span class="sourceLineNo">1097</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1097"></a> -<span class="sourceLineNo">1098</span> this.conf = env.getConfiguration();<a name="line.1098"></a> -<span class="sourceLineNo">1099</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1099"></a> -<span class="sourceLineNo">1100</span> .getVisibilityLabelService(this.conf);<a name="line.1100"></a> -<span class="sourceLineNo">1101</span> }<a name="line.1101"></a> -<span class="sourceLineNo">1102</span><a name="line.1102"></a> -<span class="sourceLineNo">1103</span> @Override<a name="line.1103"></a> -<span class="sourceLineNo">1104</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1104"></a> +<span class="sourceLineNo">1077</span> if (putVisTags.isEmpty() && deleteCellVisTags.isEmpty()) {<a name="line.1077"></a> +<span class="sourceLineNo">1078</span> // Early out if there are no tags in the cell<a name="line.1078"></a> +<span class="sourceLineNo">1079</span> return ReturnCode.INCLUDE;<a name="line.1079"></a> +<span class="sourceLineNo">1080</span> }<a name="line.1080"></a> +<span class="sourceLineNo">1081</span> boolean matchFound = VisibilityLabelServiceManager<a name="line.1081"></a> +<span class="sourceLineNo">1082</span> .getInstance().getVisibilityLabelService()<a name="line.1082"></a> +<span class="sourceLineNo">1083</span> .matchVisibility(putVisTags, putCellVisTagsFormat, deleteCellVisTags,<a name="line.1083"></a> +<span class="sourceLineNo">1084</span> deleteCellVisTagsFormat);<a name="line.1084"></a> +<span class="sourceLineNo">1085</span> return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP;<a name="line.1085"></a> +<span class="sourceLineNo">1086</span> }<a name="line.1086"></a> +<span class="sourceLineNo">1087</span> }<a name="line.1087"></a> +<span class="sourceLineNo">1088</span><a name="line.1088"></a> +<span class="sourceLineNo">1089</span> /**<a name="line.1089"></a> +<span class="sourceLineNo">1090</span> * A RegionServerObserver impl that provides the custom<a name="line.1090"></a> +<span class="sourceLineNo">1091</span> * VisibilityReplicationEndpoint. This class should be configured as the<a name="line.1091"></a> +<span class="sourceLineNo">1092</span> * 'hbase.coprocessor.regionserver.classes' for the visibility tags to be<a name="line.1092"></a> +<span class="sourceLineNo">1093</span> * replicated as string. The value for the configuration should be<a name="line.1093"></a> +<span class="sourceLineNo">1094</span> * 'org.apache.hadoop.hbase.security.visibility.VisibilityController$VisibilityReplication'.<a name="line.1094"></a> +<span class="sourceLineNo">1095</span> */<a name="line.1095"></a> +<span class="sourceLineNo">1096</span> public static class VisibilityReplication implements RegionServerObserver {<a name="line.1096"></a> +<span class="sourceLineNo">1097</span> private Configuration conf;<a name="line.1097"></a> +<span class="sourceLineNo">1098</span> private VisibilityLabelService visibilityLabelService;<a name="line.1098"></a> +<span class="sourceLineNo">1099</span><a name="line.1099"></a> +<span class="sourceLineNo">1100</span> @Override<a name="line.1100"></a> +<span class="sourceLineNo">1101</span> public void start(CoprocessorEnvironment env) throws IOException {<a name="line.1101"></a> +<span class="sourceLineNo">1102</span> this.conf = env.getConfiguration();<a name="line.1102"></a> +<span class="sourceLineNo">1103</span> visibilityLabelService = VisibilityLabelServiceManager.getInstance()<a name="line.1103"></a> +<span class="sourceLineNo">1104</span> .getVisibilityLabelService(this.conf);<a name="line.1104"></a> <span class="sourceLineNo">1105</span> }<a name="line.1105"></a> <span class="sourceLineNo">1106</span><a name="line.1106"></a> <span class="sourceLineNo">1107</span> @Override<a name="line.1107"></a> -<span class="sourceLineNo">1108</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1108"></a> -<span class="sourceLineNo">1109</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1109"></a> -<span class="sourceLineNo">1110</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1110"></a> -<span class="sourceLineNo">1111</span> }<a name="line.1111"></a> -<span class="sourceLineNo">1112</span> }<a name="line.1112"></a> -<span class="sourceLineNo">1113</span><a name="line.1113"></a> -<span class="sourceLineNo">1114</span> /**<a name="line.1114"></a> -<span class="sourceLineNo">1115</span> * @param t<a name="line.1115"></a> -<span class="sourceLineNo">1116</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1116"></a> -<span class="sourceLineNo">1117</span> */<a name="line.1117"></a> -<span class="sourceLineNo">1118</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1118"></a> -<span class="sourceLineNo">1119</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1119"></a> -<span class="sourceLineNo">1120</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1120"></a> -<span class="sourceLineNo">1121</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1121"></a> -<span class="sourceLineNo">1122</span> parameterBuilder.setValue(<a name="line.1122"></a> -<span class="sourceLineNo">1123</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1123"></a> -<span class="sourceLineNo">1124</span> return parameterBuilder.build();<a name="line.1124"></a> -<span class="sourceLineNo">1125</span> }<a name="line.1125"></a> -<span class="sourceLineNo">1126</span>}<a name="line.1126"></a> +<span class="sourceLineNo">1108</span> public void stop(CoprocessorEnvironment env) throws IOException {<a name="line.1108"></a> +<span class="sourceLineNo">1109</span> }<a name="line.1109"></a> +<span class="sourceLineNo">1110</span><a name="line.1110"></a> +<span class="sourceLineNo">1111</span> @Override<a name="line.1111"></a> +<span class="sourceLineNo">1112</span> public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.1112"></a> +<span class="sourceLineNo">1113</span> ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint) {<a name="line.1113"></a> +<span class="sourceLineNo">1114</span> return new VisibilityReplicationEndpoint(endpoint, visibilityLabelService);<a name="line.1114"></a> +<span class="sourceLineNo">1115</span> }<a name="line.1115"></a> +<span class="sourceLineNo">1116</span> }<a name="line.1116"></a> +<span class="sourceLineNo">1117</span><a name="line.1117"></a> +<span class="sourceLineNo">1118</span> /**<a name="line.1118"></a> +<span class="sourceLineNo">1119</span> * @param t<a name="line.1119"></a> +<span class="sourceLineNo">1120</span> * @return NameValuePair of the exception name to stringified version os exception.<a name="line.1120"></a> +<span class="sourceLineNo">1121</span> */<a name="line.1121"></a> +<span class="sourceLineNo">1122</span> // Copied from ResponseConverter and made private. Only used in here.<a name="line.1122"></a> +<span class="sourceLineNo">1123</span> private static NameBytesPair buildException(final Throwable t) {<a name="line.1123"></a> +<span class="sourceLineNo">1124</span> NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();<a name="line.1124"></a> +<span class="sourceLineNo">1125</span> parameterBuilder.setName(t.getClass().getName());<a name="line.1125"></a> +<span class="sourceLineNo">1126</span> parameterBuilder.setValue(<a name="line.1126"></a> +<span class="sourceLineNo">1127</span> ByteString.copyFromUtf8(StringUtils.stringifyException(t)));<a name="line.1127"></a> +<span class="sourceLineNo">1128</span> return parameterBuilder.build();<a name="line.1128"></a> +<span class="sourceLineNo">1129</span> }<a name="line.1129"></a> +<span class="sourceLineNo">1130</span>}<a name="line.1130"></a>
