Skip to content

Latest commit

 

History

History
111 lines (72 loc) · 6.41 KB

File metadata and controls

111 lines (72 loc) · 6.41 KB

@fluidframework/server-lambdas

5.0.0

Minor Changes

  • server-lambdas: Nexus client connections can now disconnect in batches (#21465) 9427e25689

    Added the option to make Nexus client connections disconnect in batches. The new options are within socketIo element of the Nexus config:

    • gracefulShutdownEnabled (true or false)
    • gracefulShutdownDrainTimeMs (overall time for disconnection)
    • gracefulShutdownDrainIntervalMs (how long each batch has to disconnect)

    Additionally, the DrainTimeMs setting should be set to a value greater than the setting shared:runnerServerCloseTimeoutMs which governs how long Alfred and Nexus have to shutdown.

    You can find more details in pull request #19938.

  • server-lambdas: Performance: Keep pending checkpoint message for future summaries (#21465) 9427e25689

    During a session there may be multiple client/service summary calls, and independently, multiple checkpoints. Checkpoint will clear messages storage in pendingCheckpointMessages, which is also used for writing summaries. Because of this cleanup, when we write new summaries, it often needs to request the ops from Alfred again, which is not quite efficient.

    Now the pending messages are cached for improved performance.

    You can find more details in pull request #20029.

  • server-lambdas: Fix: send correct connection scopes for client (#21465) 9427e25689

    When a client joins in "write" mode with only "read" scopes in their token, the connection message from server will reflect a "read" client mode.

    You can find more details in pull request #20312.

  • server-lambdas: Fix: cover edge cases for scrubbed checkpoint users (#21465) 9427e25689

    Overhauled how the Scribe lambda handles invalid, missing, or outdated checkpoint data via fallbacks.

    Before:

    if (no global checkpoint)
      use Default checkpoint
    elsif (global checkpoint was cleared or  global checkpoint quorum was scrubbed)
      use Summary checkpoint
    else
      use latest DB checkpoint (local or global)
    

    After:

    if (no global and no local checkpoint and no summary checkpoint)
      use Default checkpoint
    elsif (
    	global checkpoint was cleared and summary checkpoint ahead of local db checkpoint
    	or latest DB checkpoint quorum was scrubbed
    	or summary checkpoint ahead of latest DB checkpoint
    )
      use Summary checkpoint
    else
      use latest DB checkpoint (local or  global)
    

    Also: Updated CheckpointService with additional fallback logic for loading a checkpoint from local or global DB depending on whether the quorum information in the checkpoint is valid (i.e. does not contain scrubbed users).

    You can find more details in pull request #20259.

  • server-lambdas, server-services-core: SessionStartMetric removed from Scribe and Deli microservices (#21465) 9427e25689

    This change removes the SessionStartMetric from Scribe and Deli. The metric is a source of bugs and has been superseded by the restoreFromCheckpoint and RunService metrics.

    You can find more details about the reasons for this change in pull request #21125.

4.0.0

Major Changes

  • Alfred no longer handles websocket traffic (#19227) 8766d1d800

    Removed the websocket component of Alfred and stood it as a new microservice, Nexus. When running locally it will run on port 3002. Clients that have discovery enabled and use deltaStreamUrl need no change as they will automatically connect to Nexus. If support for older clients is necessary, an Nginx redirect for Alfred socket requests to be forwarded to Nexus can be used.

3.0.0

Major Changes

  • BREAKING CHANGE: Foreman lambda removed c6e203af0c

    The Foreman lambda in @fluidframework/server-lambdas has been removed. It has not been used for several releases. There is no replacement.

  • Updated @fluidframework/protocol-definitions (#19090) ecd9e67b57

    The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. See the full changelog.

  • Updated @fluidframework/common-utils (#19090) ecd9e67b57

    The @fluidframework/common-utils dependency has been upgraded to v3.1.0. See the full changelog.

  • Updated @fluidframework/common-definitions (#19090) ecd9e67b57

    The @fluidframework/common-definitions dependency has been upgraded to v1.1.0. See the full changelog.