Uploaded image for project: 'Periscope'
  1. Periscope
  2. MGNLPER-165

Search queries are not executed concurrently


    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Neutral Neutral
    • 1.2.9
    • None
    • None
    • Yes
    • Yes
    • 8
    • Yes

      Customers think we don't do concurrent execution of the search queries, and hence, users need to wait for other users to finalise their search.

      At 19:00 minute of the recording: https://magnolia-cms.zoom.us/rec/share/Fkd9YuJdMIyisdTwKIDZh7MDGe3GcKMNWEsXT-1u1mLKsx8-EM65JoiBDhChZfFx.DVTpqAofUU7BsisO



      • Investigate previous discovery and either confirm/infirm the following statement: "Multiple threads trying to get the same session on the same workspace will give you badtimes (IIRC throws an exception on the second thread)."
      • If possible, remove the Semaphore lock, and make the concurrency configurable¬†
      • During investigation, fill MGNLPER-190 as needed

      Dev notes: source stackOverflow

      • javax.jcr.Session is not thread-safe, so if you're going to use a Session to handle multiple requests, you have to be sure that a Session is only being used in processing one request at a time. In other words, you'd some sort of pool of Sessions objects.
      • Session is stateful, so any information loaded by one session might be kept until the Session is refreshed or closed.
      • Session is for a specific user. If each incoming request might be associated with different users, you may be leaking privileges and data.

      Other notes: https://jackrabbit.apache.org/jcr/concurrency-control.html

        Acceptance criteria

              miguel.martinez Miguel Martinez
              ilgun Ilgun Ilgun
              0 Vote for this issue
              10 Start watching this issue

                Work Started:

                  Task DoD