[ https://issues.apache.org/jira/browse/METRON-1771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16610914#comment-16610914 ]
ASF GitHub Bot commented on METRON-1771: ---------------------------------------- Github user nickwallen commented on a diff in the pull request: https://github.com/apache/metron/pull/1190#discussion_r216725905 --- 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 -- The `latest` would only be null if there was a request to comment on a non-existent meta-alert, correct? If that is the case, then this *should* never happen. Wouldn't it be better to throw an exception with an appropriate error message so we can investigate the thing that should not have happened? > 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)