private void closeQueues() { for (LocalIndexDataQueue queue : this.indexDataQueues.values()) { try { queue.close(); } catch (IOException e) { log.warn("Error in closing queue: " + e.getMessage(), e); } } }
public void put(List<Record> records) throws AnalyticsException { Map<Integer, List<Record>> recordsMap = this.indexer.extractShardedRecords(records); LocalIndexDataQueue dataList; for (Map.Entry<Integer, List<Record>> entry : recordsMap.entrySet()) { dataList = this.indexDataQueues.get(entry.getKey()); if (dataList == null) { continue; } dataList.enqueue(new IndexOperation(false).setRecords(entry.getValue())); } }
public void delete(int tenantId, String tableName, List<String> ids) throws AnalyticsException { Map<Integer, List<String>> recordsMap = this.indexer.extractShardedIds(ids); LocalIndexDataQueue dataList; for (Map.Entry<Integer, List<String>> entry : recordsMap.entrySet()) { dataList = this.indexDataQueues.get(entry.getKey()); if (dataList == null) { continue; } dataList.enqueue( new IndexOperation(true) .setIds(entry.getValue()) .setDeleteTenantId(tenantId) .setDeleteTableName(tableName)); } }