org.rocksdb.CompactionJobInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rocksdbjni Show documentation
Show all versions of rocksdbjni Show documentation
RocksDB fat jar that contains .so files for linux32 and linux64 (glibc and musl-libc), jnilib files
for Mac OSX, and a .dll for Windows x64.
The newest version!
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
package org.rocksdb;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public class CompactionJobInfo extends RocksObject {
public CompactionJobInfo() {
super(newCompactionJobInfo());
}
/**
* Private as called from JNI C++
*/
private CompactionJobInfo(final long nativeHandle) {
super(nativeHandle);
// We do not own the native object!
disOwnNativeHandle();
}
/**
* Get the name of the column family where the compaction happened.
*
* @return the name of the column family
*/
public byte[] columnFamilyName() {
return columnFamilyName(nativeHandle_);
}
/**
* Get the status indicating whether the compaction was successful or not.
*
* @return the status
*/
public Status status() {
return status(nativeHandle_);
}
/**
* Get the id of the thread that completed this compaction job.
*
* @return the id of the thread
*/
public long threadId() {
return threadId(nativeHandle_);
}
/**
* Get the job id, which is unique in the same thread.
*
* @return the id of the thread
*/
public int jobId() {
return jobId(nativeHandle_);
}
/**
* Get the smallest input level of the compaction.
*
* @return the input level
*/
public int baseInputLevel() {
return baseInputLevel(nativeHandle_);
}
/**
* Get the output level of the compaction.
*
* @return the output level
*/
public int outputLevel() {
return outputLevel(nativeHandle_);
}
/**
* Get the names of the compaction input files.
*
* @return the names of the input files.
*/
public List inputFiles() {
return Arrays.asList(inputFiles(nativeHandle_));
}
/**
* Get the names of the compaction output files.
*
* @return the names of the output files.
*/
public List outputFiles() {
return Arrays.asList(outputFiles(nativeHandle_));
}
/**
* Get the table properties for the input and output tables.
*
* The map is keyed by values from {@link #inputFiles()} and
* {@link #outputFiles()}.
*
* @return the table properties
*/
public Map tableProperties() {
return tableProperties(nativeHandle_);
}
/**
* Get the Reason for running the compaction.
*
* @return the reason.
*/
public CompactionReason compactionReason() {
return CompactionReason.fromValue(compactionReason(nativeHandle_));
}
//
/**
* Get the compression algorithm used for output files.
*
* @return the compression algorithm
*/
public CompressionType compression() {
return CompressionType.getCompressionType(compression(nativeHandle_));
}
/**
* Get detailed information about this compaction.
*
* @return the detailed information, or null if not available.
*/
public /* @Nullable */ CompactionJobStats stats() {
final long statsHandle = stats(nativeHandle_);
if (statsHandle == 0) {
return null;
}
return new CompactionJobStats(statsHandle);
}
private static native long newCompactionJobInfo();
@Override protected native void disposeInternal(final long handle);
private static native byte[] columnFamilyName(final long handle);
private static native Status status(final long handle);
private static native long threadId(final long handle);
private static native int jobId(final long handle);
private static native int baseInputLevel(final long handle);
private static native int outputLevel(final long handle);
private static native String[] inputFiles(final long handle);
private static native String[] outputFiles(final long handle);
private static native Map tableProperties(
final long handle);
private static native byte compactionReason(final long handle);
private static native byte compression(final long handle);
private static native long stats(final long handle);
}