Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-5041

AbstractPropertyState.toString should handle case when BlobStore is not configured

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.5.13, 1.6.0
    • core
    • None

    Description

      While using oak-run console against a repository which is configured with blobstore displaying the node content throws exception if blobstore is not configured while launching oak-run

      /jcr:system/jcr:versionStorage/cb/c4/6a/cbc46ae0-bf55-4033-a0c9-15316fd31f3f/1.1/jcr:frozenNode/jcr:content> pn
      ERROR java.lang.IllegalStateException:
      Attempt to read external blob with blobId [b885eaf812d1efa57170dc70337a5d815bcba087#5000000] without specifying BlobStore
              at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readBlob (FileStore.java:1324)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getBlob (SegmentBlob.java:261)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getLength (SegmentBlob.java:269)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.length (SegmentBlob.java:109)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.size (SegmentPropertyState.java:209)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.size (SegmentPropertyState.java:156)
              at org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.toString (AbstractPropertyState.java:70)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.toString (SegmentPropertyState.java:242)
              at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.toString (AbstractNodeState.java:208)
              at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.toString (SegmentNodeState.java:620)
              at org.apache.jackrabbit.oak.spi.state.AbstractChildNodeEntry.toString (AbstractChildNodeEntry.java:37)
              at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.toString (AbstractNodeState.java:213)
              at org.apache.jackrabbit.oak.console.commands.PnCommand.execute (PnCommand.groovy:38)
      

      AbstractPropertyState#toString(org.apache.jackrabbit.oak.api.PropertyState) should handle such scenario gracefully and return some marker value

      This would simplify analysing repository content where we only have access to NodeStore content

      Attachments

        Activity

          People

            chetanm Chetan Mehrotra
            chetanm Chetan Mehrotra
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: