Class Tablet
- java.lang.Object
-
- org.apache.accumulo.tserver.tablet.Tablet
-
public class Tablet extends Object
Provide access to a single row range in a living TabletServer.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Tablet.LookupResult
-
Constructor Summary
Constructors Modifier Constructor Description protected
Tablet(TabletTime tabletTime, String tabletDirectory, int logId, org.apache.hadoop.fs.Path location, org.apache.accumulo.tserver.tablet.DatafileManager datafileManager, TabletServer tabletServer, TabletServerResourceManager.TabletResourceManager tabletResources, org.apache.accumulo.tserver.tablet.TabletMemory tabletMemory, TableConfiguration tableConfiguration, KeyExtent extent, ConfigurationObserver configObserver)
Only visible for testingTablet(TabletServer tabletServer, KeyExtent extent, TabletServerResourceManager.TabletResourceManager trm, TabletData data)
-
Method Summary
-
-
-
Constructor Detail
-
Tablet
protected Tablet(TabletTime tabletTime, String tabletDirectory, int logId, org.apache.hadoop.fs.Path location, org.apache.accumulo.tserver.tablet.DatafileManager datafileManager, TabletServer tabletServer, TabletServerResourceManager.TabletResourceManager tabletResources, org.apache.accumulo.tserver.tablet.TabletMemory tabletMemory, TableConfiguration tableConfiguration, KeyExtent extent, ConfigurationObserver configObserver)
Only visible for testing
-
Tablet
public Tablet(TabletServer tabletServer, KeyExtent extent, TabletServerResourceManager.TabletResourceManager trm, TabletData data) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getDataSourceDeletions
public long getDataSourceDeletions()
-
getLogId
public int getLogId()
-
getContext
public ServerContext getContext()
-
checkConditions
public void checkConditions(ConditionCheckerContext.ConditionChecker checker, Authorizations authorizations, AtomicBoolean iFlag) throws IOException
- Throws:
IOException
-
lookup
public Tablet.LookupResult lookup(List<Range> ranges, HashSet<Column> columns, Authorizations authorizations, List<KVEntry> results, long maxResultSize, List<IterInfo> ssiList, Map<String,Map<String,String>> ssio, AtomicBoolean interruptFlag, SamplerConfiguration samplerConfig, long batchTimeOut, String classLoaderContext) throws IOException
- Throws:
IOException
-
createScanner
public Scanner createScanner(Range range, int num, Set<Column> columns, Authorizations authorizations, List<IterInfo> ssiList, Map<String,Map<String,String>> ssio, boolean isolated, AtomicBoolean interruptFlag, SamplerConfiguration samplerConfig, long batchTimeOut, String classLoaderContext)
-
flush
public void flush(long tableFlushID)
-
initiateMinorCompaction
public boolean initiateMinorCompaction(MinorCompactionReason mincReason)
-
minorCompactNow
public boolean minorCompactNow(MinorCompactionReason mincReason)
-
getFlushID
public long getFlushID() throws org.apache.zookeeper.KeeperException.NoNodeException
- Throws:
org.apache.zookeeper.KeeperException.NoNodeException
-
getCompactionID
public Pair<Long,UserCompactionConfig> getCompactionID() throws org.apache.zookeeper.KeeperException.NoNodeException
- Throws:
org.apache.zookeeper.KeeperException.NoNodeException
-
checkConstraints
public void checkConstraints()
-
prepareMutationsForCommit
public CommitSession prepareMutationsForCommit(TservConstraintEnv cenv, List<Mutation> mutations) throws TConstraintViolationException
- Throws:
TConstraintViolationException
-
abortCommit
public void abortCommit(CommitSession commitSession)
-
commit
public void commit(CommitSession commitSession, List<Mutation> mutations)
-
close
public void close(boolean saveState) throws IOException
Closes the mapfiles associated with a Tablet. If saveState is true, a minor compaction is performed.- Throws:
IOException
-
getLocation
public org.apache.hadoop.fs.Path getLocation()
Returns a Path object representing the tablet's location on the DFS.- Returns:
- location
-
initiateMajorCompaction
public void initiateMajorCompaction(MajorCompactionReason reason)
-
needsMajorCompaction
public boolean needsMajorCompaction(MajorCompactionReason reason)
Returns true if a major compaction should be performed on the tablet.
-
estimateTabletSize
public long estimateTabletSize()
Returns an int representing the total block size of the files served by this tablet.- Returns:
- size
-
needsSplit
public boolean needsSplit()
Returns true if this tablet needs to be split
-
createTableConfiguration
protected AccumuloConfiguration createTableConfiguration(TableConfiguration base, CompactionPlan plan)
-
getExtent
public KeyExtent getExtent()
-
getNumEntries
public long getNumEntries()
-
getNumEntriesInMemory
public long getNumEntriesInMemory()
-
isClosing
public boolean isClosing()
-
isClosed
public boolean isClosed()
-
isCloseComplete
public boolean isCloseComplete()
-
isMajorCompactionRunning
public boolean isMajorCompactionRunning()
-
isMinorCompactionQueued
public boolean isMinorCompactionQueued()
-
isMinorCompactionRunning
public boolean isMinorCompactionRunning()
-
isMajorCompactionQueued
public boolean isMajorCompactionQueued()
-
split
public TreeMap<KeyExtent,TabletData> split(byte[] sp) throws IOException
- Throws:
IOException
-
getDatafiles
public SortedMap<FileRef,DataFileValue> getDatafiles()
-
queryRate
public double queryRate()
-
queryByteRate
public double queryByteRate()
-
ingestRate
public double ingestRate()
-
ingestByteRate
public double ingestByteRate()
-
scanRate
public double scanRate()
-
totalQueries
public long totalQueries()
-
totalIngest
public long totalIngest()
-
updateRates
public void updateRates(long now)
-
getSplitCreationTime
public long getSplitCreationTime()
-
importMapFiles
public void importMapFiles(long tid, Map<FileRef,MapFileInfo> fileMap, boolean setTime) throws IOException
- Throws:
IOException
-
checkIfMinorCompactionNeededForLogs
public void checkIfMinorCompactionNeededForLogs(List<DfsLogger> closedLogs)
-
beginUpdatingLogsUsed
public boolean beginUpdatingLogsUsed(InMemoryMap memTable, DfsLogger more, boolean mincFinish)
-
finishUpdatingLogsUsed
public void finishUpdatingLogsUsed()
-
chopFiles
public void chopFiles()
-
compactAll
public void compactAll(long compactionId, UserCompactionConfig compactionConfig)
-
getTableConfiguration
public TableConfiguration getTableConfiguration()
-
getDurability
public Durability getDurability()
-
updateMemoryUsageStats
public void updateMemoryUsageStats(long size, long mincSize)
-
incrementDataSourceDeletions
public long incrementDataSourceDeletions()
-
updateQueryStats
public void updateQueryStats(int size, long numBytes)
-
updatePersistedTime
public void updatePersistedTime(long bulkTime, Map<FileRef,DataFileValue> paths, long tid)
-
updateTabletDataFile
public void updateTabletDataFile(long maxCommittedTime, FileRef newDatafile, FileRef absMergeFile, DataFileValue dfv, Set<String> unusedWalLogs, Set<FileRef> filesInUseByScans, long flushId)
-
getAndUpdateTime
public long getAndUpdateTime()
-
flushComplete
public void flushComplete(long flushId)
-
resetLastLocation
public TServerInstance resetLastLocation()
-
addActiveScans
public void addActiveScans(org.apache.accumulo.tserver.tablet.ScanDataSource scanDataSource)
-
removeScan
public int removeScan(org.apache.accumulo.tserver.tablet.ScanDataSource scanDataSource)
-
setLastCompactionID
public void setLastCompactionID(Long compactionId)
-
minorCompactionWaitingToStart
public void minorCompactionWaitingToStart()
-
minorCompactionStarted
public void minorCompactionStarted()
-
minorCompactionComplete
public void minorCompactionComplete()
-
getTabletStats
public TabletStats getTabletStats()
-
getScannedCounter
public AtomicLong getScannedCounter()
-
-