Uploaded image for project: 'Instrument control development'
  1. Instrument control development
  2. INSTRM-985

Rollover to the filesystem-based visit manager if Gen2 off/bust.

    Details

    • Story Points:
      2
    • Sprint:
      SM1PD-2020 J, SM1PD-2021 A 12

      Description

      The gen2Actor provides the PFS visit. If it cannot get one from Gen2 for whatever reason, it should rollover to the existing filesystem-based visit manager. We do assume that the gen2Actor is running and can be reached.

        Attachments

          Activity

          Hide
          hassan hassan added a comment -

          Affects JHU more, and can come out of the H4 work by cloomis.

          Show
          hassan hassan added a comment - Affects JHU more, and can come out of the H4 work by cloomis .
          Hide
          cloomis cloomis added a comment -

          The risks are that the gen2Actor is not running, or that the gen2 side is somehow not working. Might need to protect against both, but the latter seems to happens more often (2021-09-06 g2ssim2, say) so start with that.

          Scheme:

          • we keep a local seqno (/data/raw/nextSeqno) file in sync with the gen2 getFrames number – just use the local sequence file mechanism used at ASIAA, JHU, old LAM.
          • when a g2cam getFrames call fails, increment the nextSeqno file and use that.
          • when a g2cam getFrames call succeeds, compare with the nextSeqno file. If behind, wind the g2cam counter up to match. Update the nextSeqno file.

          This will probably also require lowering the g2cam getFrames timeout, and maybe adding a we-know-g2cam-is-down flag to avoid always waiting for that timeout.

          The Gen2 frame accounting (allocated, done, archived) will break in confusing ways.

          Show
          cloomis cloomis added a comment - The risks are that the gen2Actor is not running, or that the gen2 side is somehow not working. Might need to protect against both, but the latter seems to happens more often (2021-09-06 g2ssim2, say) so start with that. Scheme: we keep a local seqno (/data/raw/nextSeqno) file in sync with the gen2 getFrames number – just use the local sequence file mechanism used at ASIAA, JHU, old LAM. when a g2cam getFrames call fails, increment the nextSeqno file and use that. when a g2cam getFrames call succeeds, compare with the nextSeqno file. If behind, wind the g2cam counter up to match. Update the nextSeqno file. This will probably also require lowering the g2cam getFrames timeout, and maybe adding a we-know-g2cam-is-down flag to avoid always waiting for that timeout. The Gen2 frame accounting (allocated, done, archived) will break in confusing ways.
          Hide
          cloomis cloomis added a comment -

          Bump. This seemed unlikely and thus not very important. But the gen2 server or its frame id database has broken a couple more times: we should implement the proposed scheme. That would allow taking frames, at least.

          Show
          cloomis cloomis added a comment - Bump. This seemed unlikely and thus not very important. But the gen2 server or its frame id database has broken a couple more times: we should implement the proposed scheme. That would allow taking frames, at least.

            People

            • Assignee:
              cloomis cloomis
              Reporter:
              cloomis cloomis
            • Votes:
              0 Vote for this issue
              Watchers:
              Start watching this issue

              Dates

              • Created:
                Updated: