[ https://issues.apache.org/jira/browse/METRON-1771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16610918#comment-16610918 ]
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_r216728030 --- Diff: metron-platform/metron-indexing/src/main/java/org/apache/metron/indexing/dao/HBaseDao.java --- @@ -309,28 +311,28 @@ public void addCommentToAlert(CommentAddRemoveRequest request, Document latest) Document newVersion = new Document(latest); newVersion.getDocument().put(COMMENTS_FIELD, commentsMap); - update(newVersion, Optional.empty()); + return update(newVersion, Optional.empty()); } @Override @SuppressWarnings("unchecked") - public void removeCommentFromAlert(CommentAddRemoveRequest request) + public Document removeCommentFromAlert(CommentAddRemoveRequest request) throws IOException { Document latest = getLatest(request.getGuid(), request.getSensorType()); - removeCommentFromAlert(request, latest); + return removeCommentFromAlert(request, latest); } @Override @SuppressWarnings("unchecked") - public void removeCommentFromAlert(CommentAddRemoveRequest request, Document latest) + public Document removeCommentFromAlert(CommentAddRemoveRequest request, Document latest) throws IOException { if (latest == null || latest.getDocument() == null) { throw new IOException("Unable to remove comment document that doesn't exist"); } List<Map<String, Object>> commentMap = (List<Map<String, Object>>) latest.getDocument().get(COMMENTS_FIELD); // Can't remove anything if there's nothing there if (commentMap == null) { - return; + return null; --- End diff -- Should we also treat this as an exceptional condition? > 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)