[ https://issues.apache.org/jira/browse/METRON-1771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16607676#comment-16607676 ]
ASF GitHub Bot commented on METRON-1771: ---------------------------------------- Github user merrimanr commented on a diff in the pull request: https://github.com/apache/metron/pull/1190#discussion_r216090059 --- Diff: metron-platform/metron-elasticsearch/src/main/java/org/apache/metron/elasticsearch/dao/ElasticsearchUpdateDao.java --- @@ -108,20 +109,21 @@ public void batchUpdate(Map<Document, Optional<String>> updates) throws IOExcept throw new IOException( "ElasticsearchDao upsert failed: " + bulkResponse.buildFailureMessage()); } + return updates; } @Override @SuppressWarnings("unchecked") - public void addCommentToAlert(CommentAddRemoveRequest request) throws IOException { + public Document addCommentToAlert(CommentAddRemoveRequest request) throws IOException { Document latest = retrieveLatestDao.getLatest(request.getGuid(), request.getSensorType()); - addCommentToAlert(request, latest); + return addCommentToAlert(request, latest); } @Override @SuppressWarnings("unchecked") - public void addCommentToAlert(CommentAddRemoveRequest request, Document latest) throws IOException { + public Document addCommentToAlert(CommentAddRemoveRequest request, Document latest) throws IOException { if (latest == null) { - return; + return null; --- End diff -- This is an example of returning null when an document is not found. Would Optional.empty() be better? > Update REST endpoints to support eventually consistent UI updates > ----------------------------------------------------------------- > > Key: METRON-1771 > URL: https://issues.apache.org/jira/browse/METRON-1771 > Project: Metron > Issue Type: Improvement > Reporter: Ryan Merriman > Priority: Major > > Currently the REST endpoints that perform document updates either return > true/false or nothing. This puts the responsibility of retrieving the > updated state of the object on the client in a separate call or > optimistically applying the changes and reverting when an update fails. This > can be problematic if a client attempts to get the current state immediately > after an update and the change isn't visible yet in the back end. > Ideally they should return the updated state of the object, eliminating the > need to look up the updated state in a separate call. -- This message was sent by Atlassian JIRA (v7.6.3#76005)