View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003857 | SymmetricDS | Improvement | public | 2019-01-17 20:09 | 2019-03-14 12:48 |
Reporter | pmarzullo | Assigned To | pmarzullo | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.10.0 | ||||
Target Version | 3.10.0 | Fixed in Version | 3.10.0 | ||
Summary | 0003857: NodeService.findNode(...) (cached versus non-cached), where to use correct one | ||||
Description | I looked at the calls to NodeService.findNode(...) (the non-cached versions, 40 of them) and summarized which ones can use the cached version. My logic was, if it had anything to do with changing the node, or registering the node, or reloading the node, it should call the non-cached version, otherwise use the cached version. Let me know what you think. symmetric-client (project) org.jumpmind.symmetric.SymmetricAdmin (class) getNodes(CommandLine) (method) This method should call (non-cached) findNode(String id) because it is a one off call org.jumpmind.symmetric.service.jmx.NodeManagementService setSyncEnabledForNode(String nodeId, boolean syncEnabled) This method should call (non-cached) findNode(String id) because it is updating the node symmetric-core org.jumpmind.symmetric.file.FileSyncZipDataWriter write(CsvData data) This method should call (cached) findNode(String id, boolean cache) because it is only using the node.getNodeGroupId() for determining if the file reload should be written to this node. org.jumpmind.symmetric.service.impl.DataExtractorService execute(NodeCommunication, RemoteNodeStatus) Should call (cached) findNode(String, boolean) extractBatchRange(Writer writer, String nodeId, Date startBatchTime, Date endBatchTime, String... channelIds) Should call (cached) findNode(String, boolean) extractBatchRange(Writer writer, String nodeId, Date startBatchTime, Date endBatchTime, String... channelIds) Should call (cached) findNode(String, boolean) extractOnlyOutgoingBatch(String nodeId, long batchId, Writer writer) Should call (cached) findNode(String, boolean) SeleceFromTableSource init(Batch batch, List<SelectFromTableEvent> initialLoadEvents) Should call (cached) findNode(String, boolean) transferFromStaging(ExtractMode mode, BatchType batchType, OutgoingBatch batch, boolean isRetry, IStagedResource stagedResource, BufferedWriter writer, DataContext context, BigDecimal maxKBytesPerSec) Should call (cached) findNode(String, boolean) org.jumpmind.symmetric.service.impl.DataService insertReloadEvent(TableReloadRequest request, boolean deleteAtClient) Should call (non-cached) findNode(String) reloadMissingForeignKeyRowsReverse(String sourceNodeId, Table table, CsvData data, boolean sendCorrectionToPeers) Should call (non-cached) findNode(String) reloadNode(String nodeId, boolean reverseLoad, String createBy) Should call (non-cached) findNode(String) reloadTable(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect) Should call (non-cached) findNode(String) sendSchema(String nodeId, String catalogName, String schemaName, String tableName, boolean isLoad) Should call (cached) findNode(String, boolean) sendScript(String nodeId, String script, boolean isLoad) Should call (cached) findNode(String, boolean) sendSQL(String nodeId, String catalogName, String schemaName, String tableName, String sql) Should call (cached) findNode(String, boolean) org.jumpmind.symmetric.service.impl.NodeService findNode(String id, boolean useCache) Should call (non-cached) findNode(String) findOfflineNodes(long minutesOffline) Should call (cached) findNode(String, boolean) getExternalId(String nodeId) Should call (cached) findNode(String, boolean) org.jumpmind.symmetric.service.impl.RegistrationService checkRegistrationSuccessful(boolean registered, int maxNumberOfAttempts) Should call (non-cached) findNode(String) openRegistration(Node node, String remoteHost, String remoteAddress) Should call (non-cached) findNode(String) processRegistration(Node nodePriorToRegistration, String remoteHost, String remoteAddress, boolean isRequestedRegistration) Should call (non-cached) findNode(String) reOpenRegistration(String nodeId, String remoteHost, String remoteAddress) Should call (non-cached) findNode(String) org.jumpmind.symmetric.service.impl.RouterService insertInitialLoadEvents() Should call (non-cached) findNode(String) processTableRequestLoads(Node source, ProcessInfo processInfo, Map<String, List<TriggerRouter>> triggerRoutersByTargetNodeGroupId) Should call (cached) findNode(String, boolean) org.jumpmind.symmetric.util.DefaultNodeIdCreator generateNodeId(Node node, String remoteHost, String remoteAddress) Should call (non-cached) findNode(String) symmetric-pro com.jumpmind.symmetric.console.ui.common.resolve.MissingTableResolver buttonClick(ClickEvent event) Should call (cached) findNode(String, boolean) com.jumpmind.symmetric.console.ui.screen.manage.ProcessInfoPanel refresh(ISymmetricEngine engine) Should call (cached) findNode(String, boolean) symmetric-server org.jumpmind.symmetric.web.PullUriHandler handlePull(String nodeId, String remoteHost, String remoteAddress, OutputStream outputStream, String encoding, HttpServletResponse res, ChannelMap map) Should call (non-cached) findNode(String, boolean) (registering node) org.jumpmind.symmetric.web.rest.RestService getPullData(...) Should call (cached) findNode(String, boolean) securityVerified(String nodeId, ISymmetricEngine engine, String securityToken) Should call (non-cached) findNode(String, boolean) (uses non-cached version of findNodeSecurity(...)) sendSchemaImpl(ISymmetricEngine engine, SendSchemaRequest request) Should call (non-cached) findNode(String, boolean) | ||||
Tags | No tags attached. | ||||
SymmetricDS: 3.10 456427e1 2019-01-17 15:47:39 philipmarzullo Details Diff |
0003857: NodeService.findNode(...) (cached versus non-cached), where to use correct one |
Affected Issues 0003857 |
|
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/file/FileSyncZipDataWriter.java | Diff File | ||
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataExtractorService.java | Diff File | ||
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java | Diff File | ||
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/NodeService.java | Diff File | ||
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java | Diff File | ||
mod - symmetric-server/src/main/java/org/jumpmind/symmetric/web/rest/RestService.java | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-01-17 20:09 | pmarzullo | New Issue | |
2019-01-17 20:09 | pmarzullo | Status | new => assigned |
2019-01-17 20:09 | pmarzullo | Assigned To | => pmarzullo |
2019-01-17 20:43 | pmarzullo | Description Updated | View Revisions |
2019-01-17 20:43 | pmarzullo | Description Updated | View Revisions |
2019-01-17 20:56 | pmarzullo | Status | assigned => resolved |
2019-01-17 20:56 | pmarzullo | Resolution | open => fixed |
2019-01-17 20:56 | pmarzullo | Fixed in Version | => 3.10.0 |
2019-01-17 20:56 | pmarzullo | Note Added: 0001384 | |
2019-01-17 21:00 | Changeset attached | => SymmetricDS 3.10 456427e1 | |
2019-03-14 12:48 | admin | Status | resolved => closed |