com.nhncorp.neptune.master
Interface TableManagerProtocol

All Superinterfaces:
AsyncCallProtocol, NVersionedProtocol
All Known Subinterfaces:
NeptuneMasterIF
All Known Implementing Classes:
NeptuneMaster

public interface TableManagerProtocol
extends NVersionedProtocol, AsyncCallProtocol

Table을 관리(drop, create)하기 위한 프로토콜

Author:
nhn

Field Summary
static long versionID
           
 
Method Summary
 void addColumn(java.lang.String tableName, java.lang.String addedColumnName)
          테이블에 Column을 추가한다.
 void addTablePermission(java.lang.String tableName, java.lang.String userId, java.lang.String readWrite)
           
 TabletInfo addTablet(java.lang.String tableName, Row.Key endRowKey)
          테이블에 새로운 Tablet을 추가한다.
 void addUser(java.lang.String userId)
           
 void createTable(TableSchema table, Row.Key[] endRowKeys)
          테이블을 생성한다.
 java.lang.String dropTable(java.lang.String tableName)
          테이블을 drop한다.
 TabletInfo[] getTablets(java.lang.String tableName)
          특정 테이블의 Tablet 목록을 조회한다.
 TabletServerInfo[] getTabletServerInfos()
           
 TableSchema[] listTables()
          테이블 목록을 조회한다.
 void removeTablePermission(java.lang.String tableName, java.lang.String userId)
           
 void removeUser(java.lang.String userId)
           
 void test()
           
 
Methods inherited from interface com.nhncorp.neptune.common.AsyncCallProtocol
getAsyncTaskStatus, removeAsyncTask
 
Methods inherited from interface com.nhncorp.neptune.common.ipc.NVersionedProtocol
getProtocolVersion
 

Field Detail

versionID

static final long versionID
See Also:
Constant Field Values
Method Detail

createTable

void createTable(TableSchema table,
                 Row.Key[] endRowKeys)
                 throws java.io.IOException
테이블을 생성한다. endRowKeys가 null이 아닌 경우 테이블 생성 시 endRowKeys를 이용하여 테이블을 파티셔닝한다.

Parameters:
table -
endRowKeys -
Throws:
java.io.IOException

dropTable

java.lang.String dropTable(java.lang.String tableName)
                           throws java.io.IOException
테이블을 drop한다. 테이블 drop 명령의 경우 RPC timeout내에 처리 되지 않기 때문에 async 작업으로 처리된다. 결과 값이 return 되어도 drop 처리가 종료된 것이 아니다.

Parameters:
tableName -
Throws:
java.io.IOException

listTables

TableSchema[] listTables()
                         throws java.io.IOException
테이블 목록을 조회한다.

Returns:
Throws:
java.io.IOException

getTablets

TabletInfo[] getTablets(java.lang.String tableName)
                        throws java.io.IOException
특정 테이블의 Tablet 목록을 조회한다.

Parameters:
tableName -
Returns:
Throws:
java.io.IOException

addTablet

TabletInfo addTablet(java.lang.String tableName,
                     Row.Key endRowKey)
                     throws java.io.IOException
테이블에 새로운 Tablet을 추가한다.

Parameters:
tableName -
endRowKey -
Returns:
Throws:
java.io.IOException

addColumn

void addColumn(java.lang.String tableName,
               java.lang.String addedColumnName)
               throws java.io.IOException
테이블에 Column을 추가한다.

Parameters:
tableName -
addedColumnName -
Throws:
java.io.IOException

test

void test()

getTabletServerInfos

TabletServerInfo[] getTabletServerInfos()

addUser

void addUser(java.lang.String userId)
             throws java.io.IOException
Throws:
java.io.IOException

removeUser

void removeUser(java.lang.String userId)
                throws java.io.IOException
Throws:
java.io.IOException

addTablePermission

void addTablePermission(java.lang.String tableName,
                        java.lang.String userId,
                        java.lang.String readWrite)
                        throws java.io.IOException
Throws:
java.io.IOException

removeTablePermission

void removeTablePermission(java.lang.String tableName,
                           java.lang.String userId)
                           throws java.io.IOException
Throws:
java.io.IOException