All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.forstdb.CompactionJobInfo Maven / Gradle / Ivy

Go to download

ForSt fat jar with modifications specific for Apache Flink that contains .so files for linux32 and linux64 (glibc and musl-libc), jnilib files for Mac OSX, and a .dll for Windows x64.

There is a newer version: 0.1.2-beta
Show 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.forstdb;

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); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy