[jira] [Assigned] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek reassigned OAK-7832:
--

Assignee: Alexander Klimetschek

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)
Alexander Klimetschek created OAK-7832:
--

 Summary: oak-run console export should handle exceptions such as 
missing segments
 Key: OAK-7832
 URL: https://issues.apache.org/jira/browse/OAK-7832
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: run
Reporter: Alexander Klimetschek


Problem: When trying to look at data using "pn" or running "export" oak-run 
console currently will choke and abort the traversal on exceptions such as 
SegmentNotFoundException.

Expected: It would be nice if it would be best-effort, log the issue or embed 
in the exported json, and just continue. This also ensures all missing segments 
for a subtree are listed with one command (if it fails right now you just see 
the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: OAK-7832.patch

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: oak-run-1.8.9-SNAPSHOT.jar

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch, oak-run-1.8.9-SNAPSHOT.jar
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: (was: oak-run-1.8.9-SNAPSHOT.jar)

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: OAK-7832.patch

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: (was: OAK-7832.patch)

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


[ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649199#comment-16649199
 ] 

Alexander Klimetschek commented on OAK-7832:


Attached is a  [^OAK-7832.patch] against the oak 1.8 branch that. Also attached 
a ready to use jar with the changes included: [^oak-run-1.8.9-SNAPSHOT.jar].

1. Changed the console {{export}} command to log exceptions and include them in 
the json, but then continue and produce a valid json.
Log output:
{noformat}
/content/some/folder> export
01:02:01.589 [main] ERROR o.a.j.oak.json.JsonSerializer - Cannot read property 
value /content/some/folder/mypage/jcr:content/cq:lastModifiedBy : 
org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 
dec74dbe-d24f-4f3d-a7ef-75374bca3572 not found
01:02:01.596 [main] ERROR o.a.j.oak.json.JsonSerializer - Cannot read node 
/content/some/folder/mypage/jcr:content/content/paragraph/par/component0 : 
org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 
e8c16c25-cc3c-4874-ab0b-f515d6523c24 not found
{noformat}
nodestates.json output:
{noformat}
...
"cq:cssClass": "ERROR: Cannot read property value 
/content/some/folder/mypage/jcr:content/content/paragraph/par/component/cq:cssClass
 : org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 
e8c16c25-cc3c-4874-ab0b-f515d6523c24 not found"
...
   "component0": {
"_error": "ERROR: Cannot read node 
/content/some/folder/mypage/jcr:content/content/paragraph/par/component0 : 
org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 
e8c16c25-cc3c-4874-ab0b-f515d6523c24 not found"
   },
{noformat}

2. Also maked the {{pn}} command handle exceptions.
{noformat}
/content/some/folder> pn
{ jcr:primaryType = cq:Page, jcr:createdBy = silcottl, jcr:created = 
2018-09-20T15:05:43.264Z, :childOrder = [jcr:content, one, two, three, four, 
give], one = { ... }, two = { ... }, three = { ... }, jcr:content = { ... }, 
four = { ERROR on node: 
org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 
a9d9a87e-e452-452f-a3d3-d89228bef4d6 not found }, five = { ... } }
{noformat}

In both cases it catches on property value access and child node access, which 
at least with SegmentTar are the places where you'd get a 
SegmentNotFoundException if the segment storing that information is missing. 
For handling the getChildNodeEntries() case in the JsonSerializer I had to to a 
bit of a trick with a MemoryChildNodeEntry to get a nice json output with as 
much information as possible, without rewriting more of the JsonSerializer.

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch, oak-run-1.8.9-SNAPSHOT.jar
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Component/s: store-spi

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (OAK-7832) oak-run console export should handle exceptions such as missing segments

2018-10-13 Thread Alexander Klimetschek (JIRA)


 [ 
https://issues.apache.org/jira/browse/OAK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-7832:
---
Attachment: oak-run-1.8.9-SNAPSHOT.jar

> oak-run console export should handle exceptions such as missing segments
> 
>
> Key: OAK-7832
> URL: https://issues.apache.org/jira/browse/OAK-7832
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, store-spi
>Reporter: Alexander Klimetschek
>Assignee: Alexander Klimetschek
>Priority: Major
> Attachments: OAK-7832.patch, oak-run-1.8.9-SNAPSHOT.jar
>
>
> Problem: When trying to look at data using "pn" or running "export" oak-run 
> console currently will choke and abort the traversal on exceptions such as 
> SegmentNotFoundException.
> Expected: It would be nice if it would be best-effort, log the issue or embed 
> in the exported json, and just continue. This also ensures all missing 
> segments for a subtree are listed with one command (if it fails right now you 
> just see the first missing segment).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)