org.apache.accumulo.server.util
Class MetadataTable

java.lang.Object
  extended by org.apache.accumulo.core.util.MetadataTable
      extended by org.apache.accumulo.server.util.MetadataTable

public class MetadataTable
extends MetadataTable


Nested Class Summary
static class MetadataTable.LogEntry
           
 
Nested classes/interfaces inherited from class org.apache.accumulo.core.util.MetadataTable
MetadataTable.DataFileValue
 
Method Summary
static void addLogEntries(AuthInfo credentials, java.util.List<MetadataTable.LogEntry> entries, ZooLock zooLock)
           
static void addNewTablet(KeyExtent extent, java.lang.String path, TServerInstance location, java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes, AuthInfo credentials, java.lang.String time, ZooLock zooLock)
           
static void addTablet(KeyExtent extent, java.lang.String path, AuthInfo credentials, char timeType, ZooLock lock)
           
static void deleteTable(java.lang.String table, AuthInfo credentials, ZooLock lock)
           
static MetadataTable.LogEntry entryFromKeyValue(Key key, Value value)
           
static void finishSplit(KeyExtent extent, java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes, java.util.List<java.lang.String> highDatafilesToRemove, AuthInfo credentials, ZooLock zooLock)
           
static void finishSplit(org.apache.hadoop.io.Text metadataEntry, java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes, java.util.List<java.lang.String> highDatafilesToRemove, AuthInfo credentials, ZooLock zooLock)
           
static KeyExtent fixSplit(org.apache.hadoop.io.Text metadataEntry, java.util.SortedMap<ColumnFQ,Value> columns, TServerInstance tserver, AuthInfo credentials, ZooLock lock)
           
static boolean getBatchFromRootTablet(AuthInfo credentials, org.apache.hadoop.io.Text startRow, java.util.SortedMap<Key,Value> results, java.util.SortedSet<Column> columns, boolean skipStartRow, int size)
           
static java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> getDataFileSizes(KeyExtent extent, AuthInfo credentials)
           
static Pair<java.util.List<MetadataTable.LogEntry>,java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue>> getFileAndLogEntries(AuthInfo credentials, KeyExtent extent)
           
static java.util.Iterator<MetadataTable.LogEntry> getLogEntries(AuthInfo creds)
           
static java.util.List<MetadataTable.LogEntry> getLogEntries(AuthInfo credentials, KeyExtent extent)
           
static java.util.SortedMap<KeyExtent,org.apache.hadoop.io.Text> getMetadataDirectoryEntries(java.util.SortedMap<Key,Value> entries)
          convenience method for reading entries from the metadata table
static Writer getMetadataTable(AuthInfo credentials)
           
static void getTabletAndPrevTabletKeyValues(java.util.SortedMap<Key,Value> tkv, KeyExtent ke, java.util.List<ColumnFQ> columns, AuthInfo credentials)
           
static java.util.SortedMap<org.apache.hadoop.io.Text,java.util.SortedMap<ColumnFQ,Value>> getTabletEntries(KeyExtent ke, java.util.List<ColumnFQ> columns, AuthInfo credentials)
           
static void putLockID(ZooLock zooLock, Mutation m)
           
static boolean recordRootTabletLocation(java.lang.String address)
           
static void removeScanFiles(KeyExtent extent, java.util.Set<java.lang.String> scanFiles, AuthInfo credentials, ZooLock zooLock)
           
static void removeUnusedWALEntries(KeyExtent extent, java.util.List<MetadataTable.LogEntry> logEntries, ZooLock zooLock)
           
static void replaceDatafiles(KeyExtent extent, java.util.Set<java.lang.String> datafilesToDelete, java.util.Set<java.lang.String> scanFiles, java.lang.String path, MetadataTable.DataFileValue size, AuthInfo credentials, java.lang.String address, TServerInstance lastLocation, ZooLock zooLock)
           
static void replaceDatafiles(KeyExtent extent, java.util.Set<java.lang.String> datafilesToDelete, java.util.Set<java.lang.String> scanFiles, java.lang.String path, MetadataTable.DataFileValue size, AuthInfo credentials, java.lang.String address, TServerInstance lastLocation, ZooLock zooLock, boolean insertDeleteFlags)
           
static void splitDatafiles(org.apache.hadoop.io.Text table, org.apache.hadoop.io.Text midRow, double splitRatio, java.util.Map<java.lang.String,FileUtil.FileInfo> firstAndLastRows, java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> datafiles, java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> lowDatafileSizes, java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> highDatafileSizes, java.util.List<java.lang.String> highDatafilesToRemove)
           
static void splitTablet(KeyExtent extent, org.apache.hadoop.io.Text oldPrevEndRow, double splitRatio, AuthInfo credentials, ZooLock zooLock)
           
static void update(AuthInfo credentials, Mutation m)
           
static void update(AuthInfo credentials, ZooLock zooLock, Mutation m)
           
static void updateTabletDataFile(KeyExtent extent, java.util.Map<java.lang.String,MetadataTable.DataFileValue> estSizes, AuthInfo credentials, ZooLock zooLock)
           
static void updateTabletDataFile(KeyExtent extent, java.lang.String path, MetadataTable.DataFileValue dfv, java.lang.String time, AuthInfo credentials, java.lang.String address, ZooLock zooLock, java.util.Set<java.lang.String> unusedWalLogs, TServerInstance lastLocation)
          new data file update function adds one data file to a tablet's list path should be relative to the table directory
static void updateTabletPrevEndRow(KeyExtent extent, AuthInfo credentials)
           
 
Methods inherited from class org.apache.accumulo.core.util.MetadataTable
getEntries, getMetadataLocationEntries, getTabletAndPrevTabletKeyValues, getTabletEntries, getTabletEntries, isContiguousRange, validateEntries
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getMetadataTable

public static Writer getMetadataTable(AuthInfo credentials)

putLockID

public static void putLockID(ZooLock zooLock,
                             Mutation m)

update

public static void update(AuthInfo credentials,
                          Mutation m)

update

public static void update(AuthInfo credentials,
                          ZooLock zooLock,
                          Mutation m)

updateTabletDataFile

public static void updateTabletDataFile(KeyExtent extent,
                                        java.lang.String path,
                                        MetadataTable.DataFileValue dfv,
                                        java.lang.String time,
                                        AuthInfo credentials,
                                        java.lang.String address,
                                        ZooLock zooLock,
                                        java.util.Set<java.lang.String> unusedWalLogs,
                                        TServerInstance lastLocation)
new data file update function adds one data file to a tablet's list path should be relative to the table directory

Parameters:
time -
zooLock -

updateTabletDataFile

public static void updateTabletDataFile(KeyExtent extent,
                                        java.util.Map<java.lang.String,MetadataTable.DataFileValue> estSizes,
                                        AuthInfo credentials,
                                        ZooLock zooLock)

addTablet

public static void addTablet(KeyExtent extent,
                             java.lang.String path,
                             AuthInfo credentials,
                             char timeType,
                             ZooLock lock)

updateTabletPrevEndRow

public static void updateTabletPrevEndRow(KeyExtent extent,
                                          AuthInfo credentials)

getMetadataDirectoryEntries

public static java.util.SortedMap<KeyExtent,org.apache.hadoop.io.Text> getMetadataDirectoryEntries(java.util.SortedMap<Key,Value> entries)
convenience method for reading entries from the metadata table


getBatchFromRootTablet

public static boolean getBatchFromRootTablet(AuthInfo credentials,
                                             org.apache.hadoop.io.Text startRow,
                                             java.util.SortedMap<Key,Value> results,
                                             java.util.SortedSet<Column> columns,
                                             boolean skipStartRow,
                                             int size)
                                      throws AccumuloSecurityException
Throws:
AccumuloSecurityException

recordRootTabletLocation

public static boolean recordRootTabletLocation(java.lang.String address)

getDataFileSizes

public static java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> getDataFileSizes(KeyExtent extent,
                                                                                                 AuthInfo credentials)

addNewTablet

public static void addNewTablet(KeyExtent extent,
                                java.lang.String path,
                                TServerInstance location,
                                java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes,
                                AuthInfo credentials,
                                java.lang.String time,
                                ZooLock zooLock)

splitTablet

public static void splitTablet(KeyExtent extent,
                               org.apache.hadoop.io.Text oldPrevEndRow,
                               double splitRatio,
                               AuthInfo credentials,
                               ZooLock zooLock)

finishSplit

public static void finishSplit(org.apache.hadoop.io.Text metadataEntry,
                               java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes,
                               java.util.List<java.lang.String> highDatafilesToRemove,
                               AuthInfo credentials,
                               ZooLock zooLock)

finishSplit

public static void finishSplit(KeyExtent extent,
                               java.util.Map<java.lang.String,MetadataTable.DataFileValue> datafileSizes,
                               java.util.List<java.lang.String> highDatafilesToRemove,
                               AuthInfo credentials,
                               ZooLock zooLock)

replaceDatafiles

public static void replaceDatafiles(KeyExtent extent,
                                    java.util.Set<java.lang.String> datafilesToDelete,
                                    java.util.Set<java.lang.String> scanFiles,
                                    java.lang.String path,
                                    MetadataTable.DataFileValue size,
                                    AuthInfo credentials,
                                    java.lang.String address,
                                    TServerInstance lastLocation,
                                    ZooLock zooLock)

replaceDatafiles

public static void replaceDatafiles(KeyExtent extent,
                                    java.util.Set<java.lang.String> datafilesToDelete,
                                    java.util.Set<java.lang.String> scanFiles,
                                    java.lang.String path,
                                    MetadataTable.DataFileValue size,
                                    AuthInfo credentials,
                                    java.lang.String address,
                                    TServerInstance lastLocation,
                                    ZooLock zooLock,
                                    boolean insertDeleteFlags)

removeScanFiles

public static void removeScanFiles(KeyExtent extent,
                                   java.util.Set<java.lang.String> scanFiles,
                                   AuthInfo credentials,
                                   ZooLock zooLock)

getTabletAndPrevTabletKeyValues

public static void getTabletAndPrevTabletKeyValues(java.util.SortedMap<Key,Value> tkv,
                                                   KeyExtent ke,
                                                   java.util.List<ColumnFQ> columns,
                                                   AuthInfo credentials)

getTabletEntries

public static java.util.SortedMap<org.apache.hadoop.io.Text,java.util.SortedMap<ColumnFQ,Value>> getTabletEntries(KeyExtent ke,
                                                                                                                  java.util.List<ColumnFQ> columns,
                                                                                                                  AuthInfo credentials)

splitDatafiles

public static void splitDatafiles(org.apache.hadoop.io.Text table,
                                  org.apache.hadoop.io.Text midRow,
                                  double splitRatio,
                                  java.util.Map<java.lang.String,FileUtil.FileInfo> firstAndLastRows,
                                  java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> datafiles,
                                  java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> lowDatafileSizes,
                                  java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue> highDatafileSizes,
                                  java.util.List<java.lang.String> highDatafilesToRemove)

fixSplit

public static KeyExtent fixSplit(org.apache.hadoop.io.Text metadataEntry,
                                 java.util.SortedMap<ColumnFQ,Value> columns,
                                 TServerInstance tserver,
                                 AuthInfo credentials,
                                 ZooLock lock)
                          throws AccumuloException
Throws:
AccumuloException

deleteTable

public static void deleteTable(java.lang.String table,
                               AuthInfo credentials,
                               ZooLock lock)
                        throws AccumuloException
Throws:
AccumuloException

addLogEntries

public static void addLogEntries(AuthInfo credentials,
                                 java.util.List<MetadataTable.LogEntry> entries,
                                 ZooLock zooLock)

entryFromKeyValue

public static MetadataTable.LogEntry entryFromKeyValue(Key key,
                                                       Value value)

getFileAndLogEntries

public static Pair<java.util.List<MetadataTable.LogEntry>,java.util.SortedMap<java.lang.String,MetadataTable.DataFileValue>> getFileAndLogEntries(AuthInfo credentials,
                                                                                                                                                  KeyExtent extent)
                                                                                                                                           throws org.apache.zookeeper.KeeperException,
                                                                                                                                                  java.lang.InterruptedException,
                                                                                                                                                  java.io.IOException
Throws:
org.apache.zookeeper.KeeperException
java.lang.InterruptedException
java.io.IOException

getLogEntries

public static java.util.List<MetadataTable.LogEntry> getLogEntries(AuthInfo credentials,
                                                                   KeyExtent extent)
                                                            throws java.io.IOException,
                                                                   org.apache.zookeeper.KeeperException,
                                                                   java.lang.InterruptedException
Throws:
java.io.IOException
org.apache.zookeeper.KeeperException
java.lang.InterruptedException

getLogEntries

public static java.util.Iterator<MetadataTable.LogEntry> getLogEntries(AuthInfo creds)
                                                                throws java.io.IOException,
                                                                       org.apache.zookeeper.KeeperException,
                                                                       java.lang.InterruptedException
Throws:
java.io.IOException
org.apache.zookeeper.KeeperException
java.lang.InterruptedException

removeUnusedWALEntries

public static void removeUnusedWALEntries(KeyExtent extent,
                                          java.util.List<MetadataTable.LogEntry> logEntries,
                                          ZooLock zooLock)


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.