<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic timing between document.delete() and running query in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261008#M214138</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are doing some POC work with AF4 (4.0.e) Community Edition and Apache Chemistry 0.8.0-SNAPSHOT source (built JARs from this)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Much is working fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We recently noticed when either running a couple of our unit tests or performing the 2 operations in series in our custom UI's business logic, we sometimes see the 2nd operation fail with an exception.&amp;nbsp; (I have asked the developer to get the detailed trace).&amp;nbsp; In the meantime, here is the failing scenario:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Performs a delete of a document selected from a list displayed in a dialog.&amp;nbsp; This works fine every time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;document.delete(true);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;To refresh the list, the developer has the code then hitting the back-end AGAIN with the same query to get the new list (which should now be 1 less since the document object was deleted successfully).&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;cmisSession.query(queryString, false);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;However, the page has no list because the application throws an exception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then we noticed that when a breakpoint is used in Debug mode and you are stepping through the code to try and isolate the breakage, which naturally slows the process… it NEVER breaks - both operations then succeed. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This lead us to think it was a "timing" issue perhaps, but not likely? However, when the developer forced a sleep of say 500 ms between method calls being done in the UI… it works again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ironically, another ECM product being used for the POC work, an SP2103 preview, does NOT exhibit this behavior for THIS use-case - however, there have been other&amp;nbsp; challenges with SP that we have encountered which AF4 is far better at handling correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 16 Sep 2012 21:41:12 GMT</pubDate>
    <dc:creator>mcs130</dc:creator>
    <dc:date>2012-09-16T21:41:12Z</dc:date>
    <item>
      <title>timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261008#M214138</link>
      <description>HelloWe are doing some POC work with AF4 (4.0.e) Community Edition and Apache Chemistry 0.8.0-SNAPSHOT source (built JARs from this)Much is working fine.We recently noticed when either running a couple of our unit tests or performing the 2 operations in series in our custom UI's business logic, we s</description>
      <pubDate>Sun, 16 Sep 2012 21:41:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261008#M214138</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-16T21:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261009#M214139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It depends upon the search engine being used.&amp;nbsp;&amp;nbsp; You are probably using solr which will have an asynchronous delay.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Need details of your exception to go forward.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 06:50:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261009#M214139</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2012-09-17T06:50:35Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261010#M214140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I will get the later today when I get in but you ARE CORRECT - our Community Edition &lt;/SPAN&gt;&lt;STRONG&gt;is using SOLR.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 10:35:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261010#M214140</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-17T10:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261011#M214141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So when you use SOLR for a search it may fail to find recently added content or find recently deleted content.&amp;nbsp;&amp;nbsp;&amp;nbsp; Its just a fact of life with the so called "eventual consistency",&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm assuming that the error will be in your custom code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are a couple of alternate approaches &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;a) don't use solr as your working method to list contents of recently modified folders.&amp;nbsp;&amp;nbsp; There are many other APIs available.&amp;nbsp;&amp;nbsp;&amp;nbsp; This is how Alfresco Share works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;b) Check that a node exists prior to using it, this will probably sort out your delete case.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 11:00:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261011#M214141</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2012-09-17T11:00:19Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261012#M214142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the quick response…but when you say there are many other APIs available, we are constrained to make these calls &lt;/SPAN&gt;&lt;STRONG&gt;through CMIS only&lt;/STRONG&gt;&lt;SPAN&gt;.&amp;nbsp; We cannot use any product specific approach with what is being developed.&amp;nbsp; Are you referring to something AF-specific?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 11:26:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261012#M214142</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-17T11:26:06Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261013#M214143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;here is last part of the stack trace from our logs involving the attempt to make the Query call:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I suppose this confirms what you expected?&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;[9/17/12 9:55:09:284 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Node does not exist: missing://missing/missing(null)&lt;BR /&gt;[9/17/12 9:55:09:284 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:452)&lt;BR /&gt;[9/17/12 9:55:09:284 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(AbstractAtomPubService.java:570)&lt;BR /&gt;[9/17/12 9:55:09:285 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:142)&lt;BR /&gt;[9/17/12 9:55:09:285 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.runtime.SessionImpl$3.fetchPage(SessionImpl.java:562)&lt;BR /&gt;[9/17/12 9:55:09:285 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(AbstractIterator.java:132)&lt;BR /&gt;[9/17/12 9:55:09:285 EDT] 0000001d SystemErr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.chemistry.opencmis.client.runtime.util.CollectionIterator.hasNext(CollectionIterator.java:48)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 14:17:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261013#M214143</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-17T14:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261014#M214144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry - I don't known about Open CMIS :mrgreen:&amp;nbsp; But I would have thought that there are list methods available that could be used in place of search.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 15:58:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261014#M214144</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2012-09-17T15:58:39Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261015#M214145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Not sure what you are saying about "Search" vs "list"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To recall:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We perform 3 basic calls (for brevity, focused solely on the calls made via CMIS Session object which we do everything through and which works for everything so far against Alfresco 4)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We build the queryString like anything else: (we do this dynamically w/ variable substitution, but to illustrate I am showing the captured String value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 1:&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;String queryString = SELECT * FROM acme:documents&amp;nbsp; WHERE IN_FOLDER('workspace://SpacesStore/c98cd558-e159-44fa-927a-7e9b17241dff') AND CONTAINS ('engineering')&lt;BR /&gt;&lt;BR /&gt;cmisSession.query(queryString, false);&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;We get back 12 records - everything is exactly as expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 2:&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One of the records in the list is displayed in the custom UI being built, is then marked (check box) for a delete.&amp;nbsp; The next call is then made:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;document.delete(true);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Here the document instance correlates to the selected item marked by the user for Delete.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This also works, the document is in fact deleted from the repository exactly as expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We then attempt to run this immediately AFTER the delete() call is made - same exact code as Step 1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 3:&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;String queryString = SELECT * FROM acme:documents&amp;nbsp; WHERE IN_FOLDER('workspace://SpacesStore/c98cd558-e159-44fa-927a-7e9b17241dff') AND CONTAINS ('engineering')&lt;BR /&gt;&lt;BR /&gt;cmisSession.query(queryString, false);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;We EXPECT to get back 11 records - INSTEAD we get the exception thrown UNLESS we purposefully hold with a sleep() between Step 2 and 3.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are not using an Alfresco-specific APIs for this as we cannot for this work. We are adhering to the CMIS SQL only (a subset of SQL-92 as in the specification for CMIS)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this perhaps clearer?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 16:26:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261015#M214145</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-17T16:26:06Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261016#M214146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Mark is suggesting that you essentially have two options:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1. Keep Solr, but use a non-search call like Folder.getChildren(), Session.getObject(), or Session.getObjectByPath(). Granted this may not meet your needs because you are also doing a full-text search to get your result set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 2. Switch from Solr to Lucene. This is a simple configuration change, but if you are writing a tool that must work with Alfresco regardless of how it is configured, this may not be something you can depend on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 16:34:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261016#M214146</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-09-17T16:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261017#M214147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I actually would like to ask a question on the eventual consistency theme here. Basically the sequence of events here is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Perform a query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Delete a document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Perform a query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In mind, when I execute the query for the second time, I might get in the result set the document that was deleted or not, depending on the timing. But I would not expect to get an exception. This is what I understand as eventual consistency. Is there something that can be done so AF4 behaves that way with solr enabled?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Florian&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S. I work with Mark on this project.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 22:24:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261017#M214147</guid>
      <dc:creator>fpa1974</dc:creator>
      <dc:date>2012-09-17T22:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261018#M214148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Agreed, you should not get an exception. But it looks as though the exception may be coming from OpenCMIS, not Alfresco. I am wondering if you are holding on to that iterator when you shouldn't be. For example, if you delete the object using the web client instead of code and then invoke your page, does the exception happen?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Sep 2012 23:02:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261018#M214148</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-09-17T23:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261019#M214149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You run a query - you get a list of nodes - then you try and get them …&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why do they have to still be there? Someone else could have deleted it ….changed its permissions… etc etc&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Eventual consistency is just worse - you are more liekly to have nodes that do not exists in the results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;missing:missing//missing is used to indicate a missing node - you have found a node that longer exists for some reason &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When you make a CMIS call for this ID it will not be there.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As this can happen at any time you have to expect it - using any API - hold onto data it can change ….there is no "repeatable read" between calls.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Andy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Sep 2012 10:33:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261019#M214149</guid>
      <dc:creator>andy</dc:creator>
      <dc:date>2012-09-18T10:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261020#M214150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Perhaps I am missing something, so please bear with me on this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1- The scenario we described involved making a call to pass an SQL query String&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;cmisSession.query(queryString, false);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 -We get back an ItemIterable&amp;lt;QueryResult&amp;gt; - it's correct.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 -We iterate through and display the list of documents (relevant info only) in the UI - works great.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 -The user then selects a document from the list…behind the scenes that application has the objectId of this ONE document and fires of the delete() method on it with its business logic.&amp;nbsp; The delete works fine because when you refresh the local Alfresco repository web page on the Folder that has the documents, there is ONE less… URL form looks like: &lt;/SPAN&gt;&lt;A href="http://XX.XX.XX.XX:8081/share/page/repository#filter=path%7C%2FAcmeLibrary%2Facme-data%2F9999777700005555%2Feedocs&amp;amp;page=1" rel="nofollow noopener noreferrer"&gt;http://XX.XX.XX.XX:8081/share/page/repository#filter=path%7C%2FAcmeLibrary%2Facme-data%2F9999777700005555%2Feedocs&amp;amp;page=1&lt;/A&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 -Then, the same exact SQL query String is passed in again to perform an entirely NEW query, expecting to get back a new ItemIterable&amp;lt;QueryResult&amp;gt; - why should this be a problem?&amp;nbsp; The query() method is on the Session object.&amp;nbsp; We are not recreating this Session, we are using the current one we have - is that a problem?&amp;nbsp; I would think it shouldn't be.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It is obtained like the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;Session org.apache.chemistry.opencmis.client.api.SessionFactory.createSession(Map&amp;lt;String, String&amp;gt; parameters)&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;What "node" is being referred to here in the statement below?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;missing:missing//missing is used to indicate a missing node - you have found a node that longer exists for some reason &lt;BR /&gt;When you make a CMIS call for this ID it will not be there.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect simply to get a new&amp;nbsp; ItemIterable&amp;lt;QueryResult&amp;gt;, reflective of the same results except now not including the Document object that correlates to the one objectId that I just deleted… of which nowhere in the second call is there any reference to this objectId.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the problem actually the "state" of the cmis:Folder's objectId we have - of which I am re-using since the SQL is using the IN_FOLDER predicate?&amp;nbsp; We don't get it again, since the Folder objectId does not change and for the purpose of the IN_FOLDER predicate, you pass the String of the Id and not the object instance itself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A) We find if we wait up to 20 seconds, and make the SAME call - it works, which we CANNOT actually implement OR &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;b) Switching to Lucene from Solr - the problem then goes away and is no longer seen.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing the point altogether?&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Sep 2012 21:09:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261020#M214150</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-18T21:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261021#M214151</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am facing the same issue. A query call fails with the Soap Fault message "Runtime error. Message: org.alfresco.service.cmr.repository.InvalidNodeRefException: Node does not exist: missing://missing/missing(null)" &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my case, the previous call was a CancelCheckOut, wich deletes the working copy. The next query returns the fault and no result set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I read your statement&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You run a query - you get a list of nodes - then you try and get them …&lt;BR /&gt;Why do they have to still be there? Someone else could have deleted it ….changed its permissions… etc etc&lt;BR /&gt;&lt;BR /&gt;Andy&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;and would agree if the fault happens in subsequent calls after the query, when trying to access non-existing nodes. But the query itself has to return a valid node set, with or without the deleted node, depending on timing. Instead, it returns a fault and no result set at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Karsten&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Sep 2012 12:46:43 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261021#M214151</guid>
      <dc:creator>karstene</dc:creator>
      <dc:date>2012-09-24T12:46:43Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261022#M214152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you guys aware of this issue?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://issues.alfresco.com/jira/browse/ALF-13826" rel="nofollow noopener noreferrer"&gt;Solr CMIS Query After Delete a Node Throws CmisRuntimeException: Node does not exist&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This was closed as fixed at 4.0.2. But this may persist. Other test cases must be helpful to fix completely.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2012 11:33:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261022#M214152</guid>
      <dc:creator>t_sato</dc:creator>
      <dc:date>2012-09-25T11:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261023#M214153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We are using &lt;/SPAN&gt;&lt;STRONG&gt;4.0.e Community Edition&lt;/STRONG&gt;&lt;SPAN&gt;.&amp;nbsp; Is it possible that this is why we are seeing this?&amp;nbsp; We wanted to use Solr as it is configured OOTB, but did have to switch the configuration to use Lucene to get around the problem for now.&amp;nbsp; You mention that the defect fix applies to &lt;/SPAN&gt;&lt;STRONG&gt;4.0.2&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2012 19:23:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261023#M214153</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-09-25T19:23:45Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261024#M214154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Means it should be fixed in 4.2a Community Edition. Would be great if someone could confirm.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Oct 2012 20:41:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261024#M214154</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-10-11T20:41:58Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261025#M214155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Just a new update:&amp;nbsp; We are currently using &lt;/SPAN&gt;&lt;STRONG&gt;4.2.a COMMUNITY Edition&lt;/STRONG&gt;&lt;SPAN&gt; with the OOTB Solr configuration (Postgress) and are still seeing this issue.&amp;nbsp; I will, for now, go in an switch the index configuration to Lucene to get around this. We've been using the Community Edition for POC work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently, our company is now looking at Alfresco 4.2 Enterprise as a solution for this ECM initiative and perhaps when we have a chance to install the 4.2 Enterprise version, maybe it is fixed in that version?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Oct 2012 20:47:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261025#M214155</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-10-31T20:47:07Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261026#M214156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everybody&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are facing a very similar issue in our organization, but we are not using Solr, as we are using Alfresco Enterprise 3.4.10.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Our problem appears during execution of stress test on our cmis layer. When we mix deletion with methods using the ItemIterable (and PageFetcher) classes from OpenCMIS, Alfresco returns some odd errors to identical requests.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's worth to say that it happens when using atom/pub implementation of opencmis, but not using soap implementation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have access to logs as Im at the airport, but on monday I will post it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards, and thanks for the help. I hope we be able to get a solution.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2012 18:46:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261026#M214156</guid>
      <dc:creator>jspuchau</dc:creator>
      <dc:date>2012-11-16T18:46:25Z</dc:date>
    </item>
    <item>
      <title>Re: timing between document.delete() and running query</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261027#M214157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I will say that we have recently observed:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Community Edition: 4.2.a - Exception is no longer thrown back upon the immediate SELECT query &lt;/SPAN&gt;&lt;STRONG&gt;after &lt;/STRONG&gt;&lt;SPAN&gt;the delete is made, but there is a lag due to Solr indexing (which eventually catches up) - the "eventual consistency" behavior seems to be expected with Solr&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Enterperise Edition: 4.1 - Exception is no longer thrown back upon the immediate SELECT query &lt;/SPAN&gt;&lt;STRONG&gt;after &lt;/STRONG&gt;&lt;SPAN&gt;the delete is made, but there is a lag due to Solr indexing (which eventually catches up) - the "eventual consistency" behavior seems to be expected with Solr&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2012 19:26:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/timing-between-document-delete-and-running-query/m-p/261027#M214157</guid>
      <dc:creator>mcs130</dc:creator>
      <dc:date>2012-11-16T19:26:08Z</dc:date>
    </item>
  </channel>
</rss>

