Skip to content

Temporary Archive File Misalignment after Restart in Clustered mode #741

Description

@ctsims

In a multi-worker cluster, the fact that the Archive File Cache isn't keyed at all by worker (and thus by filesystem) means that after a restart, if another worker has added a different key for the archive, the local request will fail with

org.javarosa.core.reference.InvalidReferenceException: Error deriving reference with exception jr://archive/6776c4dd73c94fdf908e7d6561591104/default/app_strings.txt.
        at engine.FormplayerArchiveFileRoot.derive(FormplayerArchiveFileRoot.java:51)
        at org.javarosa.core.reference.ReferenceManager.DeriveReference(ReferenceManager.java:134)
        at org.javarosa.core.reference.ReferenceManager.DeriveReference(ReferenceManager.java:88)
        at org.javarosa.core.reference.ReferenceDataSource.getLocalizedText(ReferenceDataSource.java:45)

for the first request until the archive is re-fetched. The Archive File Root process also does not ever attempt to successfully re-link any archives which are recovered successfully from the redis cache into the native guidToFolderMap cache if it DOES succeed in re-deriving it, whcih seems intentional

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions