You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Michael Dürig (Created JIRA)" <ji...@apache.org> on 2012/03/13 12:41:37 UTC

[jira] [Created] (OAK-11) Document and tighten contract of Microkernel API

Document and tighten contract of Microkernel API
------------------------------------------------

                 Key: OAK-11
                 URL: https://issues.apache.org/jira/browse/OAK-11
             Project: Jackrabbit Oak
          Issue Type: Improvement
            Reporter: Michael Dürig
            Assignee: Julian Reschke


We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Michael Dürig (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253473#comment-13253473 ] 

Michael Dürig commented on OAK-11:
----------------------------------

More issues here: http://markmail.org/message/vrhizcykjhbfisjg
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (OAK-11) Document and tighten contract of Microkernel API

Posted by "angela (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated OAK-11:
----------------------

    Component/s: core
    
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: docuentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Stefan Guggisberg (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233344#comment-13233344 ] 

Stefan Guggisberg commented on OAK-11:
--------------------------------------

> It appears that the biggest gap in the API is that it doesn't include the definition of the "diff" format (which I personally would prefer not to call JSOP, because it is not).

agreed/agreed 

wrt naming:

it's actually a json patch format. unfortunately that name's already taken...
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Mete Atamel (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434018#comment-13434018 ] 

Mete Atamel commented on OAK-11:
--------------------------------

getLength method is kind of vague too. It doesn't specify what should happen when blob does not exist. Does it return 0, -1, or throw MicroKernelException?
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Mete Atamel (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434021#comment-13434021 ] 

Mete Atamel commented on OAK-11:
--------------------------------

I also agree that JSOP or the "diff format" is not clear from MicroKernel API and it should be clearly documented. Here are some examples:

-What's the difference between "^fuu/bar" : 42" and "+fuu/bar": 42? 
-In "^fuu/bar: 42", if fuu or bar does not exist yet, what happens?
-In "+fuu/bar: 42", if fuu/bar already exists, what happens?
-In "-fuu", if fuu does not exist, what happens?
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (OAK-11) Document and tighten contract of Microkernel API

Posted by "angela (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated OAK-11:
----------------------

    Labels: documentation  (was: docuentation)
    
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Thomas Mueller (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253335#comment-13253335 ] 

Thomas Mueller commented on OAK-11:
-----------------------------------

We should document the limitations of the JSON numbers, as they are not clearly defined in the JSON specification, yet MongoDB doesn't seem to support unlimited precision numbers (Java BigDecimal).


                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438550#comment-13438550 ] 

Stefan Guggisberg commented on OAK-11:
--------------------------------------

bq. getLength method is kind of vague too. It doesn't specify what should happen when blob does not exist. Does it return 0, -1, or throw MicroKernelException?
 
good point, clarified 'getLength' and 'read' methods in svn r1375435
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Julian Reschke (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232745#comment-13232745 ] 

Julian Reschke commented on OAK-11:
-----------------------------------

It appears that the biggest gap in the API is that it doesn't include the definition of the "diff" format (which I personally would prefer not to call JSOP, because it is not).

We need to do that; and, as it is a custom format, we probably should also provide re-usable libraries for processing it.
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Mete Atamel (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437757#comment-13437757 ] 

Mete Atamel commented on OAK-11:
--------------------------------

In "+ a/b" if a does not exist, what should happen? Create a and then add b? Or throw an exception that a does not exist?
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (OAK-11) Document and tighten contract of Microkernel API

Posted by "angela (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated OAK-11:
----------------------

    Component/s:     (was: core)
                 mk
    
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Michael Dürig (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253463#comment-13253463 ] 

Michael Dürig commented on OAK-11:
----------------------------------

Another area which needs clarification is the retention time of revisions and blobs. According to the current Microkernel API revisions and blobs are kept indefinitely long. In the implementation we seem to have/plan some GC mechanisms, which - strictly speaking - violates the current contract. 
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437774#comment-13437774 ] 

Julian Reschke commented on OAK-11:
-----------------------------------

I would recommend that we define this as an alternate syntax to the patch semantics defined in draft-ietf-appsawg-json-patch, thus http://trac.tools.ietf.org/html/draft-ietf-appsawg-json-patch-02#section-4.1 would define this (and the answer would be that this is an error).
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-11) Document and tighten contract of Microkernel API

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438508#comment-13438508 ] 

Stefan Guggisberg commented on OAK-11:
--------------------------------------

+1 for julian's proposal
                
> Document and tighten contract of Microkernel API
> ------------------------------------------------
>
>                 Key: OAK-11
>                 URL: https://issues.apache.org/jira/browse/OAK-11
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Assignee: Julian Reschke
>              Labels: documentation
>
> We should do a review of the Microkernel API with the goal to clarify, disambiguate and document its contract.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira