huridocs / uwazi

Uwazi is a web-based, open-source solution for building and sharing document collections
http://www.uwazi.io
MIT License
235 stars 79 forks source link

Issue with saving entities #5851

Open natasha-todi opened 1 year ago

natasha-todi commented 1 year ago

When a user tries to create a new entity, in some scenarios the save button stops working. The save button does not provide any feedback at all (show success or an error) and then they get stuck while doing data entry. This is preventing the user from uploading data into their Uwazi database as this issue happens repeatedly to them.

@pddocs

konzz commented 9 months ago

Hi @natasha-todi do you know in which scenarios this happens?

RafaPolit commented 8 months ago

@natasha-todi Can you confirm if this is still an issue? Maybe a way to reproduce it? If not, please close the issue. Thanks.

pddocs commented 8 months ago

While I am unable to reproduce the issue now. However, we found this issue occurring during a few trainings where several users are logged in at the same time to practice entering data. I suggest we can leave the issue open, until next time when we are able to replicate this issue and provide more context and screen recording. What do you prefer?

RafaPolit commented 8 months ago

Ok. This happened to us during mission as well, I believe our infrastructure is triggering some type of protection when several PCs access from the same IP. In our case, using VPNs worked, so that reinforces a bit the theory. Yes, let us know.

pddocs commented 6 months ago

As adviced, @vostorga we are looping you in on this issue, as we might run into it in our upcoming Uwazi training. We would appreciate your diagnosis and support when/if we face this. The dates of the training are 4th and 5th April. Thank you for noting!

vostorga commented 5 months ago

Pasting Natasha comment here :

We have our first report of the saving issue. We asked as many participants to turn their VPN on to avoid issues however some do not have access to a vpn right now. - https://drive.google.com/drive/folders/1auHwkyIUAsfMh7Otd8j_Vzsij5KNF6Hz?usp=drive_link (see videos here)

One of the participants (not using a VPN) was unable to save information at 12:30 BKK time and I am attaching a video here (it is really shaky because of the in person training, sorry :smiling_face_with_tear: . In this case, the save button became a lighter colour and unclickable as seen in the video. Another participant (using a VPN) was unable to save an entity at 2:38 BKK time. In her case, the cancel symbol was showing whenever she tried to click on Save. To note, there is good quality internet at the venue and participants also brought their own data to use for the training so we know it is not an internet issue

vostorga commented 5 months ago

Adding notes about this situation:

  1. No deploys were done between the reported times.
  2. No dynamic firewall or blocking is enabled for wlb or any other tenant. Even if a firewall is enabled it wont block a button but the whole site.
  3. No backend server log error was found.
  4. In a test tenant, creating multiples entities per second either manually didn't disable any button

Found the following elasticsearch errors (UTC Apr 3 05:22 , BKK Apr3 12:22):

[2024-04-03T05:22:43,907][WARN ][r.suppressed             ] [node-data-1] path: /wlb/_search, params: {index=wlb}
org.elasticsearch.action.search.SearchPhaseExecutionException: all shards failed
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.onPhaseFailure(AbstractSearchAsyncAction.java:713) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:400) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.onPhaseDone(AbstractSearchAsyncAction.java:745) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.onShardFailure(AbstractSearchAsyncAction.java:497) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.access$000(AbstractSearchAsyncAction.java:64) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction$1.onFailure(AbstractSearchAsyncAction.java:331) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.ActionListener$Delegating.onFailure(ActionListener.java:66) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.ActionListenerResponseHandler.handleException(ActionListenerResponseHandler.java:48) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.SearchTransportService$ConnectionCountingHandler.handleException(SearchTransportService.java:651) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TransportService$4.handleException(TransportService.java:853) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleException(TransportService.java:1481) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:1590) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1564) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:50) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.transport.TransportChannel.sendErrorResponse(TransportChannel.java:45) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.support.ChannelActionListener.onFailure(ChannelActionListener.java:41) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.ActionRunnable.onFailure(ActionRunnable.java:77) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:28) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:33) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:777) [elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) [elasticsearch-7.17.6.jar:7.17.6]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.elasticsearch.action.NoShardAvailableActionException: [node-data-1][10.0.10.58:9300][indices:data/read/search[phase/query]]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.onShardFailure(AbstractSearchAsyncAction.java:532) ~[elasticsearch-7.17.6.jar:7.17.6]
        at org.elasticsearch.action.search.AbstractSearchAsyncAction.onShardFailure(AbstractSearchAsyncAction.java:479) [elasticsearch-7.17.6.jar:7.17.6]
        ... 20 more
vostorga commented 4 months ago

Had a conversation with Natasha:

She mentioned this happens when a group of 20+ people add entities using a template just as follows: image image

Randomly for some of them the button is dimmed or there is some sort of circle inside of the button.