[jira] [Updated] (OAK-7256) Query: option to wait for indexes to be updated

2019-04-23 Thread Thomas Mueller (JIRA)


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

Thomas Mueller updated OAK-7256:

Fix Version/s: (was: 1.14.0)

> Query: option to wait for indexes to be updated
> ---
>
> Key: OAK-7256
> URL: https://issues.apache.org/jira/browse/OAK-7256
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>Priority: Minor
>
> Sometimes (rarely, but still) queries should include the very latest changes, 
> even if the index is updated asynchronously. For example when running unit 
> test: data is added, and then a query is run to check if the data is there. 
> The problem with asynchronous indexes is, you don't know exactly how long you 
> have to wait. Often the index is updated quickly, and sometimes it takes a 
> few seconds.
> What about extending the query syntax as follows:
> Wait for all indexes (no matter which index is used for this query) - this 
> would be used rarely, just for testing:
> {noformat}
> /jcr:root/* 
> option(wait for all indexes timeout 60)
> {noformat}
> Wait for just those indexes (well, usually it's just one, but sometimes it's 
> multiple) that are needed for the given query. This query could also be used 
> in an application that strictly needs the very latest results, even for 
> fulltext queries. The "timeout" would mean "wait at most 10 seconds, and if 
> not up-to-date then throw an exeption", while "max 10" would mean "wait at 
> most 10 seconds, but still run the query in any case".
> {noformat}
> /jcr:root/content//*[jcr:contains(., 'hello')] 
> option(wait for indexes max 10)
> {noformat}
> The query would wait, and once the indexes are up-to-date, return the 
> requested result.
> So the syntax is (both SQL-2 and XPath):
> {noformat}
>  option(wait for [all] indexes 
>   { max | timeout }  
>   [,  ] )
> {noformat}
> So other options can also be used (option traversal fail,...).



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


[jira] [Updated] (OAK-7256) Query: option to wait for indexes to be updated

2019-04-09 Thread Davide Giannella (JIRA)


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

Davide Giannella updated OAK-7256:
--
Fix Version/s: (was: 1.12.0)

> Query: option to wait for indexes to be updated
> ---
>
> Key: OAK-7256
> URL: https://issues.apache.org/jira/browse/OAK-7256
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>Priority: Minor
> Fix For: 1.14.0
>
>
> Sometimes (rarely, but still) queries should include the very latest changes, 
> even if the index is updated asynchronously. For example when running unit 
> test: data is added, and then a query is run to check if the data is there. 
> The problem with asynchronous indexes is, you don't know exactly how long you 
> have to wait. Often the index is updated quickly, and sometimes it takes a 
> few seconds.
> What about extending the query syntax as follows:
> Wait for all indexes (no matter which index is used for this query) - this 
> would be used rarely, just for testing:
> {noformat}
> /jcr:root/* 
> option(wait for all indexes timeout 60)
> {noformat}
> Wait for just those indexes (well, usually it's just one, but sometimes it's 
> multiple) that are needed for the given query. This query could also be used 
> in an application that strictly needs the very latest results, even for 
> fulltext queries. The "timeout" would mean "wait at most 10 seconds, and if 
> not up-to-date then throw an exeption", while "max 10" would mean "wait at 
> most 10 seconds, but still run the query in any case".
> {noformat}
> /jcr:root/content//*[jcr:contains(., 'hello')] 
> option(wait for indexes max 10)
> {noformat}
> The query would wait, and once the indexes are up-to-date, return the 
> requested result.
> So the syntax is (both SQL-2 and XPath):
> {noformat}
>  option(wait for [all] indexes 
>   { max | timeout }  
>   [,  ] )
> {noformat}
> So other options can also be used (option traversal fail,...).



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


[jira] [Updated] (OAK-7256) Query: option to wait for indexes to be updated

2019-04-09 Thread Davide Giannella (JIRA)


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

Davide Giannella updated OAK-7256:
--
Fix Version/s: 1.14.0

> Query: option to wait for indexes to be updated
> ---
>
> Key: OAK-7256
> URL: https://issues.apache.org/jira/browse/OAK-7256
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>Priority: Minor
> Fix For: 1.12.0, 1.14.0
>
>
> Sometimes (rarely, but still) queries should include the very latest changes, 
> even if the index is updated asynchronously. For example when running unit 
> test: data is added, and then a query is run to check if the data is there. 
> The problem with asynchronous indexes is, you don't know exactly how long you 
> have to wait. Often the index is updated quickly, and sometimes it takes a 
> few seconds.
> What about extending the query syntax as follows:
> Wait for all indexes (no matter which index is used for this query) - this 
> would be used rarely, just for testing:
> {noformat}
> /jcr:root/* 
> option(wait for all indexes timeout 60)
> {noformat}
> Wait for just those indexes (well, usually it's just one, but sometimes it's 
> multiple) that are needed for the given query. This query could also be used 
> in an application that strictly needs the very latest results, even for 
> fulltext queries. The "timeout" would mean "wait at most 10 seconds, and if 
> not up-to-date then throw an exeption", while "max 10" would mean "wait at 
> most 10 seconds, but still run the query in any case".
> {noformat}
> /jcr:root/content//*[jcr:contains(., 'hello')] 
> option(wait for indexes max 10)
> {noformat}
> The query would wait, and once the indexes are up-to-date, return the 
> requested result.
> So the syntax is (both SQL-2 and XPath):
> {noformat}
>  option(wait for [all] indexes 
>   { max | timeout }  
>   [,  ] )
> {noformat}
> So other options can also be used (option traversal fail,...).



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


[jira] [Updated] (OAK-7256) Query: option to wait for indexes to be updated

2019-01-09 Thread Davide Giannella (JIRA)


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

Davide Giannella updated OAK-7256:
--
Fix Version/s: (was: 1.10.0)

> Query: option to wait for indexes to be updated
> ---
>
> Key: OAK-7256
> URL: https://issues.apache.org/jira/browse/OAK-7256
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>Priority: Minor
> Fix For: 1.12
>
>
> Sometimes (rarely, but still) queries should include the very latest changes, 
> even if the index is updated asynchronously. For example when running unit 
> test: data is added, and then a query is run to check if the data is there. 
> The problem with asynchronous indexes is, you don't know exactly how long you 
> have to wait. Often the index is updated quickly, and sometimes it takes a 
> few seconds.
> What about extending the query syntax as follows:
> Wait for all indexes (no matter which index is used for this query) - this 
> would be used rarely, just for testing:
> {noformat}
> /jcr:root/* 
> option(wait for all indexes timeout 60)
> {noformat}
> Wait for just those indexes (well, usually it's just one, but sometimes it's 
> multiple) that are needed for the given query. This query could also be used 
> in an application that strictly needs the very latest results, even for 
> fulltext queries. The "timeout" would mean "wait at most 10 seconds, and if 
> not up-to-date then throw an exeption", while "max 10" would mean "wait at 
> most 10 seconds, but still run the query in any case".
> {noformat}
> /jcr:root/content//*[jcr:contains(., 'hello')] 
> option(wait for indexes max 10)
> {noformat}
> The query would wait, and once the indexes are up-to-date, return the 
> requested result.
> So the syntax is (both SQL-2 and XPath):
> {noformat}
>  option(wait for [all] indexes 
>   { max | timeout }  
>   [,  ] )
> {noformat}
> So other options can also be used (option traversal fail,...).



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


[jira] [Updated] (OAK-7256) Query: option to wait for indexes to be updated

2019-01-09 Thread Davide Giannella (JIRA)


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

Davide Giannella updated OAK-7256:
--
Fix Version/s: 1.12

> Query: option to wait for indexes to be updated
> ---
>
> Key: OAK-7256
> URL: https://issues.apache.org/jira/browse/OAK-7256
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>Priority: Minor
> Fix For: 1.10.0, 1.12
>
>
> Sometimes (rarely, but still) queries should include the very latest changes, 
> even if the index is updated asynchronously. For example when running unit 
> test: data is added, and then a query is run to check if the data is there. 
> The problem with asynchronous indexes is, you don't know exactly how long you 
> have to wait. Often the index is updated quickly, and sometimes it takes a 
> few seconds.
> What about extending the query syntax as follows:
> Wait for all indexes (no matter which index is used for this query) - this 
> would be used rarely, just for testing:
> {noformat}
> /jcr:root/* 
> option(wait for all indexes timeout 60)
> {noformat}
> Wait for just those indexes (well, usually it's just one, but sometimes it's 
> multiple) that are needed for the given query. This query could also be used 
> in an application that strictly needs the very latest results, even for 
> fulltext queries. The "timeout" would mean "wait at most 10 seconds, and if 
> not up-to-date then throw an exeption", while "max 10" would mean "wait at 
> most 10 seconds, but still run the query in any case".
> {noformat}
> /jcr:root/content//*[jcr:contains(., 'hello')] 
> option(wait for indexes max 10)
> {noformat}
> The query would wait, and once the indexes are up-to-date, return the 
> requested result.
> So the syntax is (both SQL-2 and XPath):
> {noformat}
>  option(wait for [all] indexes 
>   { max | timeout }  
>   [,  ] )
> {noformat}
> So other options can also be used (option traversal fail,...).



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