private long getInSyncOffsetSaved() { long offset = -1; String fileName = StorePathConfigHelper.getOffsetInSyncStorePath(this.messageStoreConfig.getStorePathRootDir()); try { File file = new File(fileName); if (file.exists()) { String offsetStr = MixAll.file2String(fileName); if (offsetStr != null) { offset = Long.valueOf(offsetStr); } file.delete(); } } catch (Exception ex) { log.error("get offset in sync failed", ex); } return offset; }
public void initInSyncOffset(long offset) { if (this.defaultMessageStore.getMessageStoreConfig().getBrokerRole() == BrokerRole.SLAVE) { return; } String fileName = StorePathConfigHelper.getOffsetInSyncStorePath(this.defaultMessageStore.getMessageStoreConfig().getStorePathRootDir()); File file = new File(fileName); if (file.exists()) { log.info("as master before, no need to sync offset"); return; } try { MixAll.string2File(String.valueOf(offset), fileName); } catch (IOException e) { log.error("save phy offset slave reported [{}] exception", fileName, e); } }
public void saveInSyncOffset() { if (this.defaultMessageStore.getMessageStoreConfig().getBrokerRole() == BrokerRole.SLAVE) { return; } long minInSyncOffset = getMinOffsetInSync(); if (minInSyncOffset == -1) { return; } String fileName = StorePathConfigHelper.getOffsetInSyncStorePath(this.defaultMessageStore.getMessageStoreConfig().getStorePathRootDir()); try { MixAll.string2File(String.valueOf(minInSyncOffset), fileName); } catch (IOException e) { log.error("save phy offset slave reported [{}] exception", fileName, e); } log.info("save slave min offset in sync:{}", minInSyncOffset); }