/** * Keep creating files until something crashes or fail to create. Record how many files are * created successfully. */ @Override public void run() { try { // This infinity loop will be broken if something crashes or fail to create. This is // expected since the master will shutdown at a certain time. while (true) { if (mOpType == 0) { try { mFileSystem.createFile(new TachyonURI(TEST_FILE_DIR + mSuccessNum)).close(); } catch (IOException e) { break; } } else if (mOpType == 1) { // TODO(gene): Add this back when there is new RawTable client API. // if (mFileSystem.createRawTable(new TachyonURI(TEST_TABLE_DIR + mSuccessNum), 1) == // -1) { // break; // } } // The create operation may succeed at the master side but still returns false due to the // shutdown. So the mSuccessNum may be less than the actual success number. mSuccessNum++; CommonUtils.sleepMs(100); } } catch (Exception e) { // Something crashed. Stop the thread. } }