Blob id

AdobeID24

27-05-2019

suppose I got logs from dev or prod enviorment .

like below:

Class: org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream

Error: Error during replication: Error occurred while obtaining InputStream for blobId

now I am having some question:

1) How to reproduce it to work on local:

what I have done: http://localhost:4502/crx/explorer/config/check.jsp

I have run the data store consistency check from root node:    "/"

I got similar kind of error there as well .

the record id is add1dd8fc5093b27b1fae1b753cb48b24ef3231f and the file path is ad/d1/dd/add1dd8fc5093b27b1fae1b753cb48b24ef3231f(copied from adobe site)

I framed the file path .

2) this file path must be missing in my local that is why I am getting that error .but where to find these files

ad/d1/dd/add1dd8fc5093b27b1fae1b753cb48b24ef3231

3) What we can do to fix it ? should i run the 1st process in particular enviorment from where I got the logs so that I can  get that correct file path.

and the files or file path must be missing in those enviornment so where I can find that file path.

May anyone provide the whole solution and approach?

Accepted Solutions (1)

Accepted Solutions (1)

SonDang

Employee

28-05-2019

The best solution would be to restore the missing file(s) from your backup.

If that is not possible, I would recommend open a Daycare ticket. I believe there is a groovy script that can be used to identify the path that is throwing this error.

Answers (4)

Answers (4)

Nirmal_Jose

MVP

27-05-2019

This is due to datastore corruption/blobs missing. You can fix it in two ways.

1. If missing in datastore,  copy the missing blobs from another environment where its present. Follow Datastore inconsistency error obtaining "InputStream for blobId"

2. If nodes are present, then it might be corrupted. Follow Offline Compaction fails with SegmentNotFoundException & IllegalArgumentExceptionsection B

3. Else,Revert to the last known good revision of the segment store.Offline Compaction fails with SegmentNotFoundException & IllegalArgumentException section A

jbrar

Employee

27-05-2019

1) This error is observed when a reference in segmentstore is not able to find the binaries in datastore.

2) Assuming you are using default datastore setup, You can go to crx-quickstart/repository/datastore folder to find these nodes.

3) Copy the binaries for a working environment to a non-working environment.

Nirmal_Jose

MVP

28-05-2019

Yes, running datastore inconsistency check confirms the issue is related to it. My personal suggestion is to use oak run for any of these type of activities like consistency check as it these operations are memory heavy.

Below command will give you consistency check

AdobeID24

28-05-2019

Thanks for the reply .

two question ;

1) my first process is correct or not ?

what I have done: http://localhost:4502/crx/explorer/config/check.jsp

I have run the data store consistency check from root node:    "/"

I got similar kind of error there as well .

2) should I run data store consistency check in the prod enviorment because these kind of issue is instance or enviorment specific so to get the correct corrupted file I have to work on live server prod from where I got the logs .