http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html index 608d19a..f42fb90 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html @@ -606,119 +606,118 @@ <span class="sourceLineNo">598</span> Path snapshotDir = SnapshotDescriptionUtils.getSnapshotsDir(rootDir);<a name="line.598"></a> <span class="sourceLineNo">599</span> FileStatus[] snapshots = fs.listStatus(snapshotDir,<a name="line.599"></a> <span class="sourceLineNo">600</span> new SnapshotDescriptionUtils.CompletedSnaphotDirectoriesFilter(fs));<a name="line.600"></a> -<span class="sourceLineNo">601</span> List<SnapshotDescription> snapshotLists =<a name="line.601"></a> -<span class="sourceLineNo">602</span> new ArrayList<SnapshotDescription>(snapshots.length);<a name="line.602"></a> -<span class="sourceLineNo">603</span> for (FileStatus snapshotDirStat: snapshots) {<a name="line.603"></a> -<span class="sourceLineNo">604</span> HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.604"></a> -<span class="sourceLineNo">605</span> SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDirStat.getPath());<a name="line.605"></a> -<span class="sourceLineNo">606</span> snapshotLists.add(ProtobufUtil.createSnapshotDesc(snapshotDesc));<a name="line.606"></a> -<span class="sourceLineNo">607</span> }<a name="line.607"></a> -<span class="sourceLineNo">608</span> return snapshotLists;<a name="line.608"></a> -<span class="sourceLineNo">609</span> }<a name="line.609"></a> -<span class="sourceLineNo">610</span><a name="line.610"></a> -<span class="sourceLineNo">611</span> /**<a name="line.611"></a> -<span class="sourceLineNo">612</span> * Gets the store files map for snapshot<a name="line.612"></a> -<span class="sourceLineNo">613</span> * @param conf the {@link Configuration} to use<a name="line.613"></a> -<span class="sourceLineNo">614</span> * @param snapshot {@link SnapshotDescription} to get stats from<a name="line.614"></a> -<span class="sourceLineNo">615</span> * @param exec the {@link ExecutorService} to use<a name="line.615"></a> -<span class="sourceLineNo">616</span> * @param filesMap {@link Map} the map to put the mapping entries<a name="line.616"></a> -<span class="sourceLineNo">617</span> * @param uniqueHFilesArchiveSize {@link AtomicLong} the accumulated store file size in archive<a name="line.617"></a> -<span class="sourceLineNo">618</span> * @param uniqueHFilesSize {@link AtomicLong} the accumulated store file size shared<a name="line.618"></a> -<span class="sourceLineNo">619</span> * @param uniqueHFilesMobSize {@link AtomicLong} the accumulated mob store file size shared<a name="line.619"></a> -<span class="sourceLineNo">620</span> * @return the snapshot stats<a name="line.620"></a> -<span class="sourceLineNo">621</span> */<a name="line.621"></a> -<span class="sourceLineNo">622</span> private static void getSnapshotFilesMap(final Configuration conf,<a name="line.622"></a> -<span class="sourceLineNo">623</span> final SnapshotDescription snapshot, final ExecutorService exec,<a name="line.623"></a> -<span class="sourceLineNo">624</span> final ConcurrentHashMap<Path, Integer> filesMap,<a name="line.624"></a> -<span class="sourceLineNo">625</span> final AtomicLong uniqueHFilesArchiveSize, final AtomicLong uniqueHFilesSize,<a name="line.625"></a> -<span class="sourceLineNo">626</span> final AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.626"></a> -<span class="sourceLineNo">627</span> HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.627"></a> -<span class="sourceLineNo">628</span> ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);<a name="line.628"></a> -<span class="sourceLineNo">629</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.629"></a> -<span class="sourceLineNo">630</span> final FileSystem fs = FileSystem.get(rootDir.toUri(), conf);<a name="line.630"></a> -<span class="sourceLineNo">631</span><a name="line.631"></a> -<span class="sourceLineNo">632</span> Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotDesc, rootDir);<a name="line.632"></a> -<span class="sourceLineNo">633</span> SnapshotManifest manifest = SnapshotManifest.open(conf, fs, snapshotDir, snapshotDesc);<a name="line.633"></a> -<span class="sourceLineNo">634</span> SnapshotReferenceUtil.concurrentVisitReferencedFiles(conf, fs, manifest, exec,<a name="line.634"></a> -<span class="sourceLineNo">635</span> new SnapshotReferenceUtil.SnapshotVisitor() {<a name="line.635"></a> -<span class="sourceLineNo">636</span> @Override public void storeFile(final HRegionInfo regionInfo, final String family,<a name="line.636"></a> -<span class="sourceLineNo">637</span> final SnapshotRegionManifest.StoreFile storeFile) throws IOException {<a name="line.637"></a> -<span class="sourceLineNo">638</span> if (!storeFile.hasReference()) {<a name="line.638"></a> -<span class="sourceLineNo">639</span> HFileLink link = HFileLink.build(conf, snapshot.getTableName(),<a name="line.639"></a> -<span class="sourceLineNo">640</span> regionInfo.getEncodedName(), family, storeFile.getName());<a name="line.640"></a> -<span class="sourceLineNo">641</span> long size;<a name="line.641"></a> -<span class="sourceLineNo">642</span> Integer count;<a name="line.642"></a> -<span class="sourceLineNo">643</span> Path p;<a name="line.643"></a> -<span class="sourceLineNo">644</span> AtomicLong al;<a name="line.644"></a> -<span class="sourceLineNo">645</span> int c = 0;<a name="line.645"></a> -<span class="sourceLineNo">646</span><a name="line.646"></a> -<span class="sourceLineNo">647</span> if (fs.exists(link.getArchivePath())) {<a name="line.647"></a> -<span class="sourceLineNo">648</span> p = link.getArchivePath();<a name="line.648"></a> -<span class="sourceLineNo">649</span> al = uniqueHFilesArchiveSize;<a name="line.649"></a> -<span class="sourceLineNo">650</span> size = fs.getFileStatus(p).getLen();<a name="line.650"></a> -<span class="sourceLineNo">651</span> } else if (fs.exists(link.getMobPath())) {<a name="line.651"></a> -<span class="sourceLineNo">652</span> p = link.getMobPath();<a name="line.652"></a> -<span class="sourceLineNo">653</span> al = uniqueHFilesMobSize;<a name="line.653"></a> -<span class="sourceLineNo">654</span> size = fs.getFileStatus(p).getLen();<a name="line.654"></a> -<span class="sourceLineNo">655</span> } else {<a name="line.655"></a> -<span class="sourceLineNo">656</span> p = link.getOriginPath();<a name="line.656"></a> -<span class="sourceLineNo">657</span> al = uniqueHFilesSize;<a name="line.657"></a> -<span class="sourceLineNo">658</span> size = link.getFileStatus(fs).getLen();<a name="line.658"></a> -<span class="sourceLineNo">659</span> }<a name="line.659"></a> -<span class="sourceLineNo">660</span><a name="line.660"></a> -<span class="sourceLineNo">661</span> // If it has been counted, do not double count<a name="line.661"></a> -<span class="sourceLineNo">662</span> count = filesMap.get(p);<a name="line.662"></a> -<span class="sourceLineNo">663</span> if (count != null) {<a name="line.663"></a> -<span class="sourceLineNo">664</span> c = count.intValue();<a name="line.664"></a> -<span class="sourceLineNo">665</span> } else {<a name="line.665"></a> -<span class="sourceLineNo">666</span> al.addAndGet(size);<a name="line.666"></a> -<span class="sourceLineNo">667</span> }<a name="line.667"></a> -<span class="sourceLineNo">668</span><a name="line.668"></a> -<span class="sourceLineNo">669</span> filesMap.put(p, ++c);<a name="line.669"></a> -<span class="sourceLineNo">670</span> }<a name="line.670"></a> -<span class="sourceLineNo">671</span> }<a name="line.671"></a> -<span class="sourceLineNo">672</span> });<a name="line.672"></a> -<span class="sourceLineNo">673</span> }<a name="line.673"></a> -<span class="sourceLineNo">674</span><a name="line.674"></a> -<span class="sourceLineNo">675</span> /**<a name="line.675"></a> -<span class="sourceLineNo">676</span> * Returns the map of store files based on path for all snapshots<a name="line.676"></a> -<span class="sourceLineNo">677</span> * @param conf the {@link Configuration} to use<a name="line.677"></a> -<span class="sourceLineNo">678</span> * @param uniqueHFilesArchiveSize pass out the size for store files in archive<a name="line.678"></a> -<span class="sourceLineNo">679</span> * @param uniqueHFilesSize pass out the size for store files shared<a name="line.679"></a> -<span class="sourceLineNo">680</span> * @param uniqueHFilesMobSize pass out the size for mob store files shared<a name="line.680"></a> -<span class="sourceLineNo">681</span> * @return the map of store files<a name="line.681"></a> -<span class="sourceLineNo">682</span> */<a name="line.682"></a> -<span class="sourceLineNo">683</span> public static Map<Path, Integer> getSnapshotsFilesMap(final Configuration conf,<a name="line.683"></a> -<span class="sourceLineNo">684</span> AtomicLong uniqueHFilesArchiveSize, AtomicLong uniqueHFilesSize,<a name="line.684"></a> -<span class="sourceLineNo">685</span> AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.685"></a> -<span class="sourceLineNo">686</span> List<SnapshotDescription> snapshotList = getSnapshotList(conf);<a name="line.686"></a> +<span class="sourceLineNo">601</span> List<SnapshotDescription> snapshotLists = new ArrayList<>(snapshots.length);<a name="line.601"></a> +<span class="sourceLineNo">602</span> for (FileStatus snapshotDirStat: snapshots) {<a name="line.602"></a> +<span class="sourceLineNo">603</span> HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.603"></a> +<span class="sourceLineNo">604</span> SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDirStat.getPath());<a name="line.604"></a> +<span class="sourceLineNo">605</span> snapshotLists.add(ProtobufUtil.createSnapshotDesc(snapshotDesc));<a name="line.605"></a> +<span class="sourceLineNo">606</span> }<a name="line.606"></a> +<span class="sourceLineNo">607</span> return snapshotLists;<a name="line.607"></a> +<span class="sourceLineNo">608</span> }<a name="line.608"></a> +<span class="sourceLineNo">609</span><a name="line.609"></a> +<span class="sourceLineNo">610</span> /**<a name="line.610"></a> +<span class="sourceLineNo">611</span> * Gets the store files map for snapshot<a name="line.611"></a> +<span class="sourceLineNo">612</span> * @param conf the {@link Configuration} to use<a name="line.612"></a> +<span class="sourceLineNo">613</span> * @param snapshot {@link SnapshotDescription} to get stats from<a name="line.613"></a> +<span class="sourceLineNo">614</span> * @param exec the {@link ExecutorService} to use<a name="line.614"></a> +<span class="sourceLineNo">615</span> * @param filesMap {@link Map} the map to put the mapping entries<a name="line.615"></a> +<span class="sourceLineNo">616</span> * @param uniqueHFilesArchiveSize {@link AtomicLong} the accumulated store file size in archive<a name="line.616"></a> +<span class="sourceLineNo">617</span> * @param uniqueHFilesSize {@link AtomicLong} the accumulated store file size shared<a name="line.617"></a> +<span class="sourceLineNo">618</span> * @param uniqueHFilesMobSize {@link AtomicLong} the accumulated mob store file size shared<a name="line.618"></a> +<span class="sourceLineNo">619</span> * @return the snapshot stats<a name="line.619"></a> +<span class="sourceLineNo">620</span> */<a name="line.620"></a> +<span class="sourceLineNo">621</span> private static void getSnapshotFilesMap(final Configuration conf,<a name="line.621"></a> +<span class="sourceLineNo">622</span> final SnapshotDescription snapshot, final ExecutorService exec,<a name="line.622"></a> +<span class="sourceLineNo">623</span> final ConcurrentHashMap<Path, Integer> filesMap,<a name="line.623"></a> +<span class="sourceLineNo">624</span> final AtomicLong uniqueHFilesArchiveSize, final AtomicLong uniqueHFilesSize,<a name="line.624"></a> +<span class="sourceLineNo">625</span> final AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.625"></a> +<span class="sourceLineNo">626</span> HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.626"></a> +<span class="sourceLineNo">627</span> ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);<a name="line.627"></a> +<span class="sourceLineNo">628</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.628"></a> +<span class="sourceLineNo">629</span> final FileSystem fs = FileSystem.get(rootDir.toUri(), conf);<a name="line.629"></a> +<span class="sourceLineNo">630</span><a name="line.630"></a> +<span class="sourceLineNo">631</span> Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotDesc, rootDir);<a name="line.631"></a> +<span class="sourceLineNo">632</span> SnapshotManifest manifest = SnapshotManifest.open(conf, fs, snapshotDir, snapshotDesc);<a name="line.632"></a> +<span class="sourceLineNo">633</span> SnapshotReferenceUtil.concurrentVisitReferencedFiles(conf, fs, manifest, exec,<a name="line.633"></a> +<span class="sourceLineNo">634</span> new SnapshotReferenceUtil.SnapshotVisitor() {<a name="line.634"></a> +<span class="sourceLineNo">635</span> @Override public void storeFile(final HRegionInfo regionInfo, final String family,<a name="line.635"></a> +<span class="sourceLineNo">636</span> final SnapshotRegionManifest.StoreFile storeFile) throws IOException {<a name="line.636"></a> +<span class="sourceLineNo">637</span> if (!storeFile.hasReference()) {<a name="line.637"></a> +<span class="sourceLineNo">638</span> HFileLink link = HFileLink.build(conf, snapshot.getTableName(),<a name="line.638"></a> +<span class="sourceLineNo">639</span> regionInfo.getEncodedName(), family, storeFile.getName());<a name="line.639"></a> +<span class="sourceLineNo">640</span> long size;<a name="line.640"></a> +<span class="sourceLineNo">641</span> Integer count;<a name="line.641"></a> +<span class="sourceLineNo">642</span> Path p;<a name="line.642"></a> +<span class="sourceLineNo">643</span> AtomicLong al;<a name="line.643"></a> +<span class="sourceLineNo">644</span> int c = 0;<a name="line.644"></a> +<span class="sourceLineNo">645</span><a name="line.645"></a> +<span class="sourceLineNo">646</span> if (fs.exists(link.getArchivePath())) {<a name="line.646"></a> +<span class="sourceLineNo">647</span> p = link.getArchivePath();<a name="line.647"></a> +<span class="sourceLineNo">648</span> al = uniqueHFilesArchiveSize;<a name="line.648"></a> +<span class="sourceLineNo">649</span> size = fs.getFileStatus(p).getLen();<a name="line.649"></a> +<span class="sourceLineNo">650</span> } else if (fs.exists(link.getMobPath())) {<a name="line.650"></a> +<span class="sourceLineNo">651</span> p = link.getMobPath();<a name="line.651"></a> +<span class="sourceLineNo">652</span> al = uniqueHFilesMobSize;<a name="line.652"></a> +<span class="sourceLineNo">653</span> size = fs.getFileStatus(p).getLen();<a name="line.653"></a> +<span class="sourceLineNo">654</span> } else {<a name="line.654"></a> +<span class="sourceLineNo">655</span> p = link.getOriginPath();<a name="line.655"></a> +<span class="sourceLineNo">656</span> al = uniqueHFilesSize;<a name="line.656"></a> +<span class="sourceLineNo">657</span> size = link.getFileStatus(fs).getLen();<a name="line.657"></a> +<span class="sourceLineNo">658</span> }<a name="line.658"></a> +<span class="sourceLineNo">659</span><a name="line.659"></a> +<span class="sourceLineNo">660</span> // If it has been counted, do not double count<a name="line.660"></a> +<span class="sourceLineNo">661</span> count = filesMap.get(p);<a name="line.661"></a> +<span class="sourceLineNo">662</span> if (count != null) {<a name="line.662"></a> +<span class="sourceLineNo">663</span> c = count.intValue();<a name="line.663"></a> +<span class="sourceLineNo">664</span> } else {<a name="line.664"></a> +<span class="sourceLineNo">665</span> al.addAndGet(size);<a name="line.665"></a> +<span class="sourceLineNo">666</span> }<a name="line.666"></a> +<span class="sourceLineNo">667</span><a name="line.667"></a> +<span class="sourceLineNo">668</span> filesMap.put(p, ++c);<a name="line.668"></a> +<span class="sourceLineNo">669</span> }<a name="line.669"></a> +<span class="sourceLineNo">670</span> }<a name="line.670"></a> +<span class="sourceLineNo">671</span> });<a name="line.671"></a> +<span class="sourceLineNo">672</span> }<a name="line.672"></a> +<span class="sourceLineNo">673</span><a name="line.673"></a> +<span class="sourceLineNo">674</span> /**<a name="line.674"></a> +<span class="sourceLineNo">675</span> * Returns the map of store files based on path for all snapshots<a name="line.675"></a> +<span class="sourceLineNo">676</span> * @param conf the {@link Configuration} to use<a name="line.676"></a> +<span class="sourceLineNo">677</span> * @param uniqueHFilesArchiveSize pass out the size for store files in archive<a name="line.677"></a> +<span class="sourceLineNo">678</span> * @param uniqueHFilesSize pass out the size for store files shared<a name="line.678"></a> +<span class="sourceLineNo">679</span> * @param uniqueHFilesMobSize pass out the size for mob store files shared<a name="line.679"></a> +<span class="sourceLineNo">680</span> * @return the map of store files<a name="line.680"></a> +<span class="sourceLineNo">681</span> */<a name="line.681"></a> +<span class="sourceLineNo">682</span> public static Map<Path, Integer> getSnapshotsFilesMap(final Configuration conf,<a name="line.682"></a> +<span class="sourceLineNo">683</span> AtomicLong uniqueHFilesArchiveSize, AtomicLong uniqueHFilesSize,<a name="line.683"></a> +<span class="sourceLineNo">684</span> AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.684"></a> +<span class="sourceLineNo">685</span> List<SnapshotDescription> snapshotList = getSnapshotList(conf);<a name="line.685"></a> +<span class="sourceLineNo">686</span><a name="line.686"></a> <span class="sourceLineNo">687</span><a name="line.687"></a> -<span class="sourceLineNo">688</span><a name="line.688"></a> -<span class="sourceLineNo">689</span> if (snapshotList.isEmpty()) {<a name="line.689"></a> -<span class="sourceLineNo">690</span> return Collections.emptyMap();<a name="line.690"></a> -<span class="sourceLineNo">691</span> }<a name="line.691"></a> -<span class="sourceLineNo">692</span><a name="line.692"></a> -<span class="sourceLineNo">693</span> ConcurrentHashMap<Path, Integer> fileMap = new ConcurrentHashMap<>();<a name="line.693"></a> -<span class="sourceLineNo">694</span><a name="line.694"></a> -<span class="sourceLineNo">695</span> ExecutorService exec = SnapshotManifest.createExecutor(conf, "SnapshotsFilesMapping");<a name="line.695"></a> -<span class="sourceLineNo">696</span><a name="line.696"></a> -<span class="sourceLineNo">697</span> try {<a name="line.697"></a> -<span class="sourceLineNo">698</span> for (final SnapshotDescription snapshot : snapshotList) {<a name="line.698"></a> -<span class="sourceLineNo">699</span> getSnapshotFilesMap(conf, snapshot, exec, fileMap, uniqueHFilesArchiveSize,<a name="line.699"></a> -<span class="sourceLineNo">700</span> uniqueHFilesSize, uniqueHFilesMobSize);<a name="line.700"></a> -<span class="sourceLineNo">701</span> }<a name="line.701"></a> -<span class="sourceLineNo">702</span> } finally {<a name="line.702"></a> -<span class="sourceLineNo">703</span> exec.shutdown();<a name="line.703"></a> -<span class="sourceLineNo">704</span> }<a name="line.704"></a> -<span class="sourceLineNo">705</span><a name="line.705"></a> -<span class="sourceLineNo">706</span> return fileMap;<a name="line.706"></a> -<span class="sourceLineNo">707</span> }<a name="line.707"></a> +<span class="sourceLineNo">688</span> if (snapshotList.isEmpty()) {<a name="line.688"></a> +<span class="sourceLineNo">689</span> return Collections.emptyMap();<a name="line.689"></a> +<span class="sourceLineNo">690</span> }<a name="line.690"></a> +<span class="sourceLineNo">691</span><a name="line.691"></a> +<span class="sourceLineNo">692</span> ConcurrentHashMap<Path, Integer> fileMap = new ConcurrentHashMap<>();<a name="line.692"></a> +<span class="sourceLineNo">693</span><a name="line.693"></a> +<span class="sourceLineNo">694</span> ExecutorService exec = SnapshotManifest.createExecutor(conf, "SnapshotsFilesMapping");<a name="line.694"></a> +<span class="sourceLineNo">695</span><a name="line.695"></a> +<span class="sourceLineNo">696</span> try {<a name="line.696"></a> +<span class="sourceLineNo">697</span> for (final SnapshotDescription snapshot : snapshotList) {<a name="line.697"></a> +<span class="sourceLineNo">698</span> getSnapshotFilesMap(conf, snapshot, exec, fileMap, uniqueHFilesArchiveSize,<a name="line.698"></a> +<span class="sourceLineNo">699</span> uniqueHFilesSize, uniqueHFilesMobSize);<a name="line.699"></a> +<span class="sourceLineNo">700</span> }<a name="line.700"></a> +<span class="sourceLineNo">701</span> } finally {<a name="line.701"></a> +<span class="sourceLineNo">702</span> exec.shutdown();<a name="line.702"></a> +<span class="sourceLineNo">703</span> }<a name="line.703"></a> +<span class="sourceLineNo">704</span><a name="line.704"></a> +<span class="sourceLineNo">705</span> return fileMap;<a name="line.705"></a> +<span class="sourceLineNo">706</span> }<a name="line.706"></a> +<span class="sourceLineNo">707</span><a name="line.707"></a> <span class="sourceLineNo">708</span><a name="line.708"></a> -<span class="sourceLineNo">709</span><a name="line.709"></a> -<span class="sourceLineNo">710</span> public static void main(String[] args) {<a name="line.710"></a> -<span class="sourceLineNo">711</span> new SnapshotInfo().doStaticMain(args);<a name="line.711"></a> -<span class="sourceLineNo">712</span> }<a name="line.712"></a> -<span class="sourceLineNo">713</span>}<a name="line.713"></a> +<span class="sourceLineNo">709</span> public static void main(String[] args) {<a name="line.709"></a> +<span class="sourceLineNo">710</span> new SnapshotInfo().doStaticMain(args);<a name="line.710"></a> +<span class="sourceLineNo">711</span> }<a name="line.711"></a> +<span class="sourceLineNo">712</span>}<a name="line.712"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html index e22a251..81d9266 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html @@ -38,7 +38,7 @@ <span class="sourceLineNo">030</span>@InterfaceStability.Evolving<a name="line.30"></a> <span class="sourceLineNo">031</span>public class StructBuilder {<a name="line.31"></a> <span class="sourceLineNo">032</span><a name="line.32"></a> -<span class="sourceLineNo">033</span> protected final List<DataType<?>> fields = new ArrayList<DataType<?>>();<a name="line.33"></a> +<span class="sourceLineNo">033</span> protected final List<DataType<?>> fields = new ArrayList<>();<a name="line.33"></a> <span class="sourceLineNo">034</span><a name="line.34"></a> <span class="sourceLineNo">035</span> /**<a name="line.35"></a> <span class="sourceLineNo">036</span> * Create an empty {@code StructBuilder}.<a name="line.36"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html b/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html index f6d2601..91f2d1c 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html @@ -57,7 +57,7 @@ <span class="sourceLineNo">049</span><a name="line.49"></a> <span class="sourceLineNo">050</span> public static ArrayList<byte[]> copyToNewArrays(Collection<ByteRange> ranges) {<a name="line.50"></a> <span class="sourceLineNo">051</span> if (ranges == null) {<a name="line.51"></a> -<span class="sourceLineNo">052</span> return new ArrayList<byte[]>(0);<a name="line.52"></a> +<span class="sourceLineNo">052</span> return new ArrayList<>(0);<a name="line.52"></a> <span class="sourceLineNo">053</span> }<a name="line.53"></a> <span class="sourceLineNo">054</span> ArrayList<byte[]> arrays = Lists.newArrayListWithCapacity(ranges.size());<a name="line.54"></a> <span class="sourceLineNo">055</span> for (ByteRange range : ranges) {<a name="line.55"></a> @@ -68,7 +68,7 @@ <span class="sourceLineNo">060</span><a name="line.60"></a> <span class="sourceLineNo">061</span> public static ArrayList<ByteRange> fromArrays(Collection<byte[]> arrays) {<a name="line.61"></a> <span class="sourceLineNo">062</span> if (arrays == null) {<a name="line.62"></a> -<span class="sourceLineNo">063</span> return new ArrayList<ByteRange>(0);<a name="line.63"></a> +<span class="sourceLineNo">063</span> return new ArrayList<>(0);<a name="line.63"></a> <span class="sourceLineNo">064</span> }<a name="line.64"></a> <span class="sourceLineNo">065</span> ArrayList<ByteRange> ranges = Lists.newArrayListWithCapacity(arrays.size());<a name="line.65"></a> <span class="sourceLineNo">066</span> for (byte[] array : arrays) {<a name="line.66"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html b/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html index 9eaa194..fb1cd2e 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html @@ -102,7 +102,7 @@ <span class="sourceLineNo">094</span> }<a name="line.94"></a> <span class="sourceLineNo">095</span><a name="line.95"></a> <span class="sourceLineNo">096</span> private Counter(Cell initCell) {<a name="line.96"></a> -<span class="sourceLineNo">097</span> containerRef = new AtomicReference<Container>(new Container(initCell));<a name="line.97"></a> +<span class="sourceLineNo">097</span> containerRef = new AtomicReference<>(new Container(initCell));<a name="line.97"></a> <span class="sourceLineNo">098</span> }<a name="line.98"></a> <span class="sourceLineNo">099</span><a name="line.99"></a> <span class="sourceLineNo">100</span> private static int hash() {<a name="line.100"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html b/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html index b719325..580ed2a 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html @@ -48,122 +48,121 @@ <span class="sourceLineNo">040</span>public class EncryptionTest {<a name="line.40"></a> <span class="sourceLineNo">041</span> private static final Log LOG = LogFactory.getLog(EncryptionTest.class);<a name="line.41"></a> <span class="sourceLineNo">042</span><a name="line.42"></a> -<span class="sourceLineNo">043</span> static final Map<String, Boolean> keyProviderResults = new ConcurrentHashMap<String, Boolean>();<a name="line.43"></a> -<span class="sourceLineNo">044</span> static final Map<String, Boolean> cipherProviderResults =<a name="line.44"></a> -<span class="sourceLineNo">045</span> new ConcurrentHashMap<String, Boolean>();<a name="line.45"></a> -<span class="sourceLineNo">046</span> static final Map<String, Boolean> cipherResults = new ConcurrentHashMap<String, Boolean>();<a name="line.46"></a> -<span class="sourceLineNo">047</span><a name="line.47"></a> -<span class="sourceLineNo">048</span> private EncryptionTest() {<a name="line.48"></a> -<span class="sourceLineNo">049</span> }<a name="line.49"></a> -<span class="sourceLineNo">050</span><a name="line.50"></a> -<span class="sourceLineNo">051</span> /**<a name="line.51"></a> -<span class="sourceLineNo">052</span> * Check that the configured key provider can be loaded and initialized, or<a name="line.52"></a> -<span class="sourceLineNo">053</span> * throw an exception.<a name="line.53"></a> -<span class="sourceLineNo">054</span> *<a name="line.54"></a> -<span class="sourceLineNo">055</span> * @param conf<a name="line.55"></a> -<span class="sourceLineNo">056</span> * @throws IOException<a name="line.56"></a> -<span class="sourceLineNo">057</span> */<a name="line.57"></a> -<span class="sourceLineNo">058</span> public static void testKeyProvider(final Configuration conf) throws IOException {<a name="line.58"></a> -<span class="sourceLineNo">059</span> String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.59"></a> -<span class="sourceLineNo">060</span> KeyStoreKeyProvider.class.getName());<a name="line.60"></a> -<span class="sourceLineNo">061</span> Boolean result = keyProviderResults.get(providerClassName);<a name="line.61"></a> -<span class="sourceLineNo">062</span> if (result == null) {<a name="line.62"></a> -<span class="sourceLineNo">063</span> try {<a name="line.63"></a> -<span class="sourceLineNo">064</span> Encryption.getKeyProvider(conf);<a name="line.64"></a> -<span class="sourceLineNo">065</span> keyProviderResults.put(providerClassName, true);<a name="line.65"></a> -<span class="sourceLineNo">066</span> } catch (Exception e) { // most likely a RuntimeException<a name="line.66"></a> -<span class="sourceLineNo">067</span> keyProviderResults.put(providerClassName, false);<a name="line.67"></a> -<span class="sourceLineNo">068</span> throw new IOException("Key provider " + providerClassName + " failed test: " +<a name="line.68"></a> -<span class="sourceLineNo">069</span> e.getMessage(), e);<a name="line.69"></a> -<span class="sourceLineNo">070</span> }<a name="line.70"></a> -<span class="sourceLineNo">071</span> } else if (result.booleanValue() == false) {<a name="line.71"></a> -<span class="sourceLineNo">072</span> throw new IOException("Key provider " + providerClassName + " previously failed test");<a name="line.72"></a> -<span class="sourceLineNo">073</span> }<a name="line.73"></a> -<span class="sourceLineNo">074</span> }<a name="line.74"></a> -<span class="sourceLineNo">075</span><a name="line.75"></a> -<span class="sourceLineNo">076</span> /**<a name="line.76"></a> -<span class="sourceLineNo">077</span> * Check that the configured cipher provider can be loaded and initialized, or<a name="line.77"></a> -<span class="sourceLineNo">078</span> * throw an exception.<a name="line.78"></a> -<span class="sourceLineNo">079</span> *<a name="line.79"></a> -<span class="sourceLineNo">080</span> * @param conf<a name="line.80"></a> -<span class="sourceLineNo">081</span> * @throws IOException<a name="line.81"></a> -<span class="sourceLineNo">082</span> */<a name="line.82"></a> -<span class="sourceLineNo">083</span> public static void testCipherProvider(final Configuration conf) throws IOException {<a name="line.83"></a> -<span class="sourceLineNo">084</span> String providerClassName = conf.get(HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY,<a name="line.84"></a> -<span class="sourceLineNo">085</span> DefaultCipherProvider.class.getName());<a name="line.85"></a> -<span class="sourceLineNo">086</span> Boolean result = cipherProviderResults.get(providerClassName);<a name="line.86"></a> -<span class="sourceLineNo">087</span> if (result == null) {<a name="line.87"></a> -<span class="sourceLineNo">088</span> try {<a name="line.88"></a> -<span class="sourceLineNo">089</span> Encryption.getCipherProvider(conf);<a name="line.89"></a> -<span class="sourceLineNo">090</span> cipherProviderResults.put(providerClassName, true);<a name="line.90"></a> -<span class="sourceLineNo">091</span> } catch (Exception e) { // most likely a RuntimeException<a name="line.91"></a> -<span class="sourceLineNo">092</span> cipherProviderResults.put(providerClassName, false);<a name="line.92"></a> -<span class="sourceLineNo">093</span> throw new IOException("Cipher provider " + providerClassName + " failed test: " +<a name="line.93"></a> -<span class="sourceLineNo">094</span> e.getMessage(), e);<a name="line.94"></a> -<span class="sourceLineNo">095</span> }<a name="line.95"></a> -<span class="sourceLineNo">096</span> } else if (result.booleanValue() == false) {<a name="line.96"></a> -<span class="sourceLineNo">097</span> throw new IOException("Cipher provider " + providerClassName + " previously failed test");<a name="line.97"></a> -<span class="sourceLineNo">098</span> }<a name="line.98"></a> -<span class="sourceLineNo">099</span> }<a name="line.99"></a> -<span class="sourceLineNo">100</span><a name="line.100"></a> -<span class="sourceLineNo">101</span> /**<a name="line.101"></a> -<span class="sourceLineNo">102</span> * Check that the specified cipher can be loaded and initialized, or throw<a name="line.102"></a> -<span class="sourceLineNo">103</span> * an exception. Verifies key and cipher provider configuration as a<a name="line.103"></a> -<span class="sourceLineNo">104</span> * prerequisite for cipher verification.<a name="line.104"></a> -<span class="sourceLineNo">105</span> *<a name="line.105"></a> -<span class="sourceLineNo">106</span> * @param conf<a name="line.106"></a> -<span class="sourceLineNo">107</span> * @param cipher<a name="line.107"></a> -<span class="sourceLineNo">108</span> * @param key<a name="line.108"></a> -<span class="sourceLineNo">109</span> * @throws IOException<a name="line.109"></a> -<span class="sourceLineNo">110</span> */<a name="line.110"></a> -<span class="sourceLineNo">111</span> public static void testEncryption(final Configuration conf, final String cipher,<a name="line.111"></a> -<span class="sourceLineNo">112</span> byte[] key) throws IOException {<a name="line.112"></a> -<span class="sourceLineNo">113</span> if (cipher == null) {<a name="line.113"></a> -<span class="sourceLineNo">114</span> return;<a name="line.114"></a> -<span class="sourceLineNo">115</span> }<a name="line.115"></a> -<span class="sourceLineNo">116</span> testKeyProvider(conf);<a name="line.116"></a> -<span class="sourceLineNo">117</span> testCipherProvider(conf);<a name="line.117"></a> -<span class="sourceLineNo">118</span> Boolean result = cipherResults.get(cipher);<a name="line.118"></a> -<span class="sourceLineNo">119</span> if (result == null) {<a name="line.119"></a> -<span class="sourceLineNo">120</span> try {<a name="line.120"></a> -<span class="sourceLineNo">121</span> Encryption.Context context = Encryption.newContext(conf);<a name="line.121"></a> -<span class="sourceLineNo">122</span> context.setCipher(Encryption.getCipher(conf, cipher));<a name="line.122"></a> -<span class="sourceLineNo">123</span> if (key == null) {<a name="line.123"></a> -<span class="sourceLineNo">124</span> // Make a random key since one was not provided<a name="line.124"></a> -<span class="sourceLineNo">125</span> context.setKey(context.getCipher().getRandomKey());<a name="line.125"></a> -<span class="sourceLineNo">126</span> } else {<a name="line.126"></a> -<span class="sourceLineNo">127</span> // This will be a wrapped key from schema<a name="line.127"></a> -<span class="sourceLineNo">128</span> context.setKey(EncryptionUtil.unwrapKey(conf,<a name="line.128"></a> -<span class="sourceLineNo">129</span> conf.get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, "hbase"),<a name="line.129"></a> -<span class="sourceLineNo">130</span> key));<a name="line.130"></a> -<span class="sourceLineNo">131</span> }<a name="line.131"></a> -<span class="sourceLineNo">132</span> byte[] iv = null;<a name="line.132"></a> -<span class="sourceLineNo">133</span> if (context.getCipher().getIvLength() > 0) {<a name="line.133"></a> -<span class="sourceLineNo">134</span> iv = new byte[context.getCipher().getIvLength()];<a name="line.134"></a> -<span class="sourceLineNo">135</span> Bytes.random(iv);<a name="line.135"></a> -<span class="sourceLineNo">136</span> }<a name="line.136"></a> -<span class="sourceLineNo">137</span> byte[] plaintext = new byte[1024];<a name="line.137"></a> -<span class="sourceLineNo">138</span> Bytes.random(plaintext);<a name="line.138"></a> -<span class="sourceLineNo">139</span> ByteArrayOutputStream out = new ByteArrayOutputStream();<a name="line.139"></a> -<span class="sourceLineNo">140</span> Encryption.encrypt(out, new ByteArrayInputStream(plaintext), context, iv);<a name="line.140"></a> -<span class="sourceLineNo">141</span> byte[] ciphertext = out.toByteArray();<a name="line.141"></a> -<span class="sourceLineNo">142</span> out.reset();<a name="line.142"></a> -<span class="sourceLineNo">143</span> Encryption.decrypt(out, new ByteArrayInputStream(ciphertext), plaintext.length,<a name="line.143"></a> -<span class="sourceLineNo">144</span> context, iv);<a name="line.144"></a> -<span class="sourceLineNo">145</span> byte[] test = out.toByteArray();<a name="line.145"></a> -<span class="sourceLineNo">146</span> if (!Bytes.equals(plaintext, test)) {<a name="line.146"></a> -<span class="sourceLineNo">147</span> throw new IOException("Did not pass encrypt/decrypt test");<a name="line.147"></a> -<span class="sourceLineNo">148</span> }<a name="line.148"></a> -<span class="sourceLineNo">149</span> cipherResults.put(cipher, true);<a name="line.149"></a> -<span class="sourceLineNo">150</span> } catch (Exception e) {<a name="line.150"></a> -<span class="sourceLineNo">151</span> cipherResults.put(cipher, false);<a name="line.151"></a> -<span class="sourceLineNo">152</span> throw new IOException("Cipher " + cipher + " failed test: " + e.getMessage(), e);<a name="line.152"></a> -<span class="sourceLineNo">153</span> }<a name="line.153"></a> -<span class="sourceLineNo">154</span> } else if (result.booleanValue() == false) {<a name="line.154"></a> -<span class="sourceLineNo">155</span> throw new IOException("Cipher " + cipher + " previously failed test");<a name="line.155"></a> -<span class="sourceLineNo">156</span> }<a name="line.156"></a> -<span class="sourceLineNo">157</span> }<a name="line.157"></a> -<span class="sourceLineNo">158</span>}<a name="line.158"></a> +<span class="sourceLineNo">043</span> static final Map<String, Boolean> keyProviderResults = new ConcurrentHashMap<>();<a name="line.43"></a> +<span class="sourceLineNo">044</span> static final Map<String, Boolean> cipherProviderResults = new ConcurrentHashMap<>();<a name="line.44"></a> +<span class="sourceLineNo">045</span> static final Map<String, Boolean> cipherResults = new ConcurrentHashMap<>();<a name="line.45"></a> +<span class="sourceLineNo">046</span><a name="line.46"></a> +<span class="sourceLineNo">047</span> private EncryptionTest() {<a name="line.47"></a> +<span class="sourceLineNo">048</span> }<a name="line.48"></a> +<span class="sourceLineNo">049</span><a name="line.49"></a> +<span class="sourceLineNo">050</span> /**<a name="line.50"></a> +<span class="sourceLineNo">051</span> * Check that the configured key provider can be loaded and initialized, or<a name="line.51"></a> +<span class="sourceLineNo">052</span> * throw an exception.<a name="line.52"></a> +<span class="sourceLineNo">053</span> *<a name="line.53"></a> +<span class="sourceLineNo">054</span> * @param conf<a name="line.54"></a> +<span class="sourceLineNo">055</span> * @throws IOException<a name="line.55"></a> +<span class="sourceLineNo">056</span> */<a name="line.56"></a> +<span class="sourceLineNo">057</span> public static void testKeyProvider(final Configuration conf) throws IOException {<a name="line.57"></a> +<span class="sourceLineNo">058</span> String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.58"></a> +<span class="sourceLineNo">059</span> KeyStoreKeyProvider.class.getName());<a name="line.59"></a> +<span class="sourceLineNo">060</span> Boolean result = keyProviderResults.get(providerClassName);<a name="line.60"></a> +<span class="sourceLineNo">061</span> if (result == null) {<a name="line.61"></a> +<span class="sourceLineNo">062</span> try {<a name="line.62"></a> +<span class="sourceLineNo">063</span> Encryption.getKeyProvider(conf);<a name="line.63"></a> +<span class="sourceLineNo">064</span> keyProviderResults.put(providerClassName, true);<a name="line.64"></a> +<span class="sourceLineNo">065</span> } catch (Exception e) { // most likely a RuntimeException<a name="line.65"></a> +<span class="sourceLineNo">066</span> keyProviderResults.put(providerClassName, false);<a name="line.66"></a> +<span class="sourceLineNo">067</span> throw new IOException("Key provider " + providerClassName + " failed test: " +<a name="line.67"></a> +<span class="sourceLineNo">068</span> e.getMessage(), e);<a name="line.68"></a> +<span class="sourceLineNo">069</span> }<a name="line.69"></a> +<span class="sourceLineNo">070</span> } else if (result.booleanValue() == false) {<a name="line.70"></a> +<span class="sourceLineNo">071</span> throw new IOException("Key provider " + providerClassName + " previously failed test");<a name="line.71"></a> +<span class="sourceLineNo">072</span> }<a name="line.72"></a> +<span class="sourceLineNo">073</span> }<a name="line.73"></a> +<span class="sourceLineNo">074</span><a name="line.74"></a> +<span class="sourceLineNo">075</span> /**<a name="line.75"></a> +<span class="sourceLineNo">076</span> * Check that the configured cipher provider can be loaded and initialized, or<a name="line.76"></a> +<span class="sourceLineNo">077</span> * throw an exception.<a name="line.77"></a> +<span class="sourceLineNo">078</span> *<a name="line.78"></a> +<span class="sourceLineNo">079</span> * @param conf<a name="line.79"></a> +<span class="sourceLineNo">080</span> * @throws IOException<a name="line.80"></a> +<span class="sourceLineNo">081</span> */<a name="line.81"></a> +<span class="sourceLineNo">082</span> public static void testCipherProvider(final Configuration conf) throws IOException {<a name="line.82"></a> +<span class="sourceLineNo">083</span> String providerClassName = conf.get(HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY,<a name="line.83"></a> +<span class="sourceLineNo">084</span> DefaultCipherProvider.class.getName());<a name="line.84"></a> +<span class="sourceLineNo">085</span> Boolean result = cipherProviderResults.get(providerClassName);<a name="line.85"></a> +<span class="sourceLineNo">086</span> if (result == null) {<a name="line.86"></a> +<span class="sourceLineNo">087</span> try {<a name="line.87"></a> +<span class="sourceLineNo">088</span> Encryption.getCipherProvider(conf);<a name="line.88"></a> +<span class="sourceLineNo">089</span> cipherProviderResults.put(providerClassName, true);<a name="line.89"></a> +<span class="sourceLineNo">090</span> } catch (Exception e) { // most likely a RuntimeException<a name="line.90"></a> +<span class="sourceLineNo">091</span> cipherProviderResults.put(providerClassName, false);<a name="line.91"></a> +<span class="sourceLineNo">092</span> throw new IOException("Cipher provider " + providerClassName + " failed test: " +<a name="line.92"></a> +<span class="sourceLineNo">093</span> e.getMessage(), e);<a name="line.93"></a> +<span class="sourceLineNo">094</span> }<a name="line.94"></a> +<span class="sourceLineNo">095</span> } else if (result.booleanValue() == false) {<a name="line.95"></a> +<span class="sourceLineNo">096</span> throw new IOException("Cipher provider " + providerClassName + " previously failed test");<a name="line.96"></a> +<span class="sourceLineNo">097</span> }<a name="line.97"></a> +<span class="sourceLineNo">098</span> }<a name="line.98"></a> +<span class="sourceLineNo">099</span><a name="line.99"></a> +<span class="sourceLineNo">100</span> /**<a name="line.100"></a> +<span class="sourceLineNo">101</span> * Check that the specified cipher can be loaded and initialized, or throw<a name="line.101"></a> +<span class="sourceLineNo">102</span> * an exception. Verifies key and cipher provider configuration as a<a name="line.102"></a> +<span class="sourceLineNo">103</span> * prerequisite for cipher verification.<a name="line.103"></a> +<span class="sourceLineNo">104</span> *<a name="line.104"></a> +<span class="sourceLineNo">105</span> * @param conf<a name="line.105"></a> +<span class="sourceLineNo">106</span> * @param cipher<a name="line.106"></a> +<span class="sourceLineNo">107</span> * @param key<a name="line.107"></a> +<span class="sourceLineNo">108</span> * @throws IOException<a name="line.108"></a> +<span class="sourceLineNo">109</span> */<a name="line.109"></a> +<span class="sourceLineNo">110</span> public static void testEncryption(final Configuration conf, final String cipher,<a name="line.110"></a> +<span class="sourceLineNo">111</span> byte[] key) throws IOException {<a name="line.111"></a> +<span class="sourceLineNo">112</span> if (cipher == null) {<a name="line.112"></a> +<span class="sourceLineNo">113</span> return;<a name="line.113"></a> +<span class="sourceLineNo">114</span> }<a name="line.114"></a> +<span class="sourceLineNo">115</span> testKeyProvider(conf);<a name="line.115"></a> +<span class="sourceLineNo">116</span> testCipherProvider(conf);<a name="line.116"></a> +<span class="sourceLineNo">117</span> Boolean result = cipherResults.get(cipher);<a name="line.117"></a> +<span class="sourceLineNo">118</span> if (result == null) {<a name="line.118"></a> +<span class="sourceLineNo">119</span> try {<a name="line.119"></a> +<span class="sourceLineNo">120</span> Encryption.Context context = Encryption.newContext(conf);<a name="line.120"></a> +<span class="sourceLineNo">121</span> context.setCipher(Encryption.getCipher(conf, cipher));<a name="line.121"></a> +<span class="sourceLineNo">122</span> if (key == null) {<a name="line.122"></a> +<span class="sourceLineNo">123</span> // Make a random key since one was not provided<a name="line.123"></a> +<span class="sourceLineNo">124</span> context.setKey(context.getCipher().getRandomKey());<a name="line.124"></a> +<span class="sourceLineNo">125</span> } else {<a name="line.125"></a> +<span class="sourceLineNo">126</span> // This will be a wrapped key from schema<a name="line.126"></a> +<span class="sourceLineNo">127</span> context.setKey(EncryptionUtil.unwrapKey(conf,<a name="line.127"></a> +<span class="sourceLineNo">128</span> conf.get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, "hbase"),<a name="line.128"></a> +<span class="sourceLineNo">129</span> key));<a name="line.129"></a> +<span class="sourceLineNo">130</span> }<a name="line.130"></a> +<span class="sourceLineNo">131</span> byte[] iv = null;<a name="line.131"></a> +<span class="sourceLineNo">132</span> if (context.getCipher().getIvLength() > 0) {<a name="line.132"></a> +<span class="sourceLineNo">133</span> iv = new byte[context.getCipher().getIvLength()];<a name="line.133"></a> +<span class="sourceLineNo">134</span> Bytes.random(iv);<a name="line.134"></a> +<span class="sourceLineNo">135</span> }<a name="line.135"></a> +<span class="sourceLineNo">136</span> byte[] plaintext = new byte[1024];<a name="line.136"></a> +<span class="sourceLineNo">137</span> Bytes.random(plaintext);<a name="line.137"></a> +<span class="sourceLineNo">138</span> ByteArrayOutputStream out = new ByteArrayOutputStream();<a name="line.138"></a> +<span class="sourceLineNo">139</span> Encryption.encrypt(out, new ByteArrayInputStream(plaintext), context, iv);<a name="line.139"></a> +<span class="sourceLineNo">140</span> byte[] ciphertext = out.toByteArray();<a name="line.140"></a> +<span class="sourceLineNo">141</span> out.reset();<a name="line.141"></a> +<span class="sourceLineNo">142</span> Encryption.decrypt(out, new ByteArrayInputStream(ciphertext), plaintext.length,<a name="line.142"></a> +<span class="sourceLineNo">143</span> context, iv);<a name="line.143"></a> +<span class="sourceLineNo">144</span> byte[] test = out.toByteArray();<a name="line.144"></a> +<span class="sourceLineNo">145</span> if (!Bytes.equals(plaintext, test)) {<a name="line.145"></a> +<span class="sourceLineNo">146</span> throw new IOException("Did not pass encrypt/decrypt test");<a name="line.146"></a> +<span class="sourceLineNo">147</span> }<a name="line.147"></a> +<span class="sourceLineNo">148</span> cipherResults.put(cipher, true);<a name="line.148"></a> +<span class="sourceLineNo">149</span> } catch (Exception e) {<a name="line.149"></a> +<span class="sourceLineNo">150</span> cipherResults.put(cipher, false);<a name="line.150"></a> +<span class="sourceLineNo">151</span> throw new IOException("Cipher " + cipher + " failed test: " + e.getMessage(), e);<a name="line.151"></a> +<span class="sourceLineNo">152</span> }<a name="line.152"></a> +<span class="sourceLineNo">153</span> } else if (result.booleanValue() == false) {<a name="line.153"></a> +<span class="sourceLineNo">154</span> throw new IOException("Cipher " + cipher + " previously failed test");<a name="line.154"></a> +<span class="sourceLineNo">155</span> }<a name="line.155"></a> +<span class="sourceLineNo">156</span> }<a name="line.156"></a> +<span class="sourceLineNo">157</span>}<a name="line.157"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html b/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html index 804d5fb..cd07094 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html @@ -349,7 +349,7 @@ <span class="sourceLineNo">341</span><a name="line.341"></a> <span class="sourceLineNo">342</span> /**<a name="line.342"></a> <span class="sourceLineNo">343</span> * Perform unsigned comparison between two long values. Conforms to the same interface as<a name="line.343"></a> -<span class="sourceLineNo">344</span> * {@link Comparator#compare(Object, Object)}.<a name="line.344"></a> +<span class="sourceLineNo">344</span> * {@link org.apache.hadoop.hbase.CellComparator#COMPARATOR#compare(Object, Object)}.<a name="line.344"></a> <span class="sourceLineNo">345</span> */<a name="line.345"></a> <span class="sourceLineNo">346</span> private static int unsignedCmp(long x1, long x2) {<a name="line.346"></a> <span class="sourceLineNo">347</span> int cmp;<a name="line.347"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html b/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html index 1fc3f98..dae63a9 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html @@ -72,7 +72,7 @@ <span class="sourceLineNo">064</span> * @return a new pair containing the passed arguments<a name="line.64"></a> <span class="sourceLineNo">065</span> */<a name="line.65"></a> <span class="sourceLineNo">066</span> public static <T1,T2> Pair<T1,T2> newPair(T1 a, T2 b) {<a name="line.66"></a> -<span class="sourceLineNo">067</span> return new Pair<T1,T2>(a, b);<a name="line.67"></a> +<span class="sourceLineNo">067</span> return new Pair<>(a, b);<a name="line.67"></a> <span class="sourceLineNo">068</span> }<a name="line.68"></a> <span class="sourceLineNo">069</span> <a name="line.69"></a> <span class="sourceLineNo">070</span> /**<a name="line.70"></a>