<?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 Re: CmisStorageException on checkin in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305814#M258944</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For one, the removeTempFile(result); makes result.length() always be zero. Therefore the exception message is misleading.&amp;nbsp; Perhaps we ought to be seeing "Expected 654502 bytes but retrieved 654500 bytes!"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Update*&lt;/P&gt;&lt;P&gt;I patched the war to retain the resultLength&lt;/P&gt;&lt;PRE&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((contentStream.getLength() &amp;gt; -1) &amp;amp;&amp;amp; (result == null || contentStream.getLength() != result.length()))&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; long resultLength = result.length();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; removeTempFile(result);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new CmisStorageException("Expected " + contentStream.getLength() + " bytes but retrieved " +&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (result == null ? -1 :resultLength) + " bytes!")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;and it still says "... retrieved 0 bytes!".&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did packet captures on both the cmis client and server sides, and they both show that the posts are garbled. &amp;nbsp;It looks like the cmis client is generating garbled payloads, and the server cannot parse the content, resulting in zero-length content streams.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 01 Feb 2017 18:41:51 GMT</pubDate>
    <dc:creator>aowian</dc:creator>
    <dc:date>2017-02-01T18:41:51Z</dc:date>
    <item>
      <title>CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305805#M258935</link>
      <description>Hi,I am trying to programmatically add and checkout/checkin documents against Alfresco 4.2f using Apache Chemistry v11.0 (atompub binding).&amp;nbsp; Frequently I get the following exception from the server while performing a checkin&lt;IMG id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;rg.apache.chemistry.opencmis.commons.exceptions.CmisStorageException: Expe</description>
      <pubDate>Sun, 01 Jun 2014 11:49:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305805#M258935</guid>
      <dc:creator>timwebster9</dc:creator>
      <dc:date>2014-06-01T11:49:29Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305806#M258936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can avoid this exception &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt; CmisStorageException: Expected 654502 bytes but retrieved 0 bytes!&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; by specifying content stream length when construct ContentStream like below&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File file = new File("C:\\userguide.pdf");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputStream fis = new FileInputStream(file);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataInputStream dis = new DataInputStream(fis);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[] bytes = new byte[(int) file.length()];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dis.readFully(bytes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ContentStream contentStream = new ContentStreamImpl(file&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.getAbsolutePath(), BigInteger.valueOf(bytes.length), "application/pdf",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new ByteArrayInputStream(bytes));&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;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Jun 2014 12:36:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305806#M258936</guid>
      <dc:creator>kaynezhang</dc:creator>
      <dc:date>2014-06-01T12:36:19Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305807#M258937</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;Thanks for the reply.&amp;nbsp; I am already doing that however.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've also discovered that if I put a break point in my code between the checkout and checkin, it always works.&amp;nbsp; Does the server need some fine-tuning maybe?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Jun 2014 12:57:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305807#M258937</guid>
      <dc:creator>timwebster9</dc:creator>
      <dc:date>2014-06-01T12:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305808#M258938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Please reload the object form the repository using&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;d.refresh();&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; or object checking status only maintented in client side.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;document.checkIn(**);&lt;BR /&gt;document.refresh();// reload the object &lt;BR /&gt; if (document.isVersionSeriesCheckedOut()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOG.info("Cancelling checkout of document with id {}.", document.getId());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.cancelCheckOut();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.delete();&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>Sun, 01 Jun 2014 14:19:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305808#M258938</guid>
      <dc:creator>kaynezhang</dc:creator>
      <dc:date>2014-06-01T14:19:52Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305809#M258939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;ok thanks, will give that a try.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regarding the other problem, for now putting a small wait (200 - 500ms) between the checkout and checkin seems to fix it, but obviously this doesn't seem like a long-term solution.&amp;nbsp; It could be my setup - this is OOB alfresco install with no extra configuration or tuning.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Jun 2014 15:36:43 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305809#M258939</guid>
      <dc:creator>timwebster9</dc:creator>
      <dc:date>2014-06-01T15:36:43Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305810#M258940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;thanks for that - that sorted out the delete problem…:-)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Jun 2014 18:48:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305810#M258940</guid>
      <dc:creator>timwebster9</dc:creator>
      <dc:date>2014-06-01T18:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305811#M258941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is caused by apache chemistry client side caching.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Client side caching is turned on by default. That is, getObject() will first look into the session cache if the object already exists there. If this is the case, it returns the object without talking to the repository. So it might return stale objects.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;you can look to &lt;/SPAN&gt;&lt;A href="http://chemistry.apache.org/java/developing/dev-client-cache.html" rel="nofollow noopener noreferrer"&gt;http://chemistry.apache.org/java/developing/dev-client-cache.html&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2014 09:34:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305811#M258941</guid>
      <dc:creator>kaynezhang</dc:creator>
      <dc:date>2014-06-02T09:34:03Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305812#M258942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I had a similar problem on a clustered Alfresco with 5 nodes. &amp;nbsp;It is due to a cluster caching bug. &amp;nbsp;We had to tether our client to a single instance of Alfresco. &amp;nbsp;Since this is not optimal, we have introduced some retry logic similar to the RetryingTransactionHandler, &lt;SPAN style="text-decoration: line-through;"&gt;and we are going to test if we can now remove the tethering.&lt;BR /&gt;&lt;/SPAN&gt;We tested, and we still need the tethering even though our retry logic retries up to 10 times per transaction with a wait of 1 second in between.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jan 2017 17:57:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305812#M258942</guid>
      <dc:creator>aowian</dc:creator>
      <dc:date>2017-01-16T17:57:06Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305813#M258943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;CmisStorageException: Expected 654502 bytes but retrieved 0 bytes!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not a java person, but did a quick review of the code (since we're seeing similar issues while under load) --&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There appear to be multiple things going on...&amp;nbsp; I would suggest a need for some serious code reviews:&lt;/P&gt;&lt;P&gt;Inside "createTempFile()" -- are multiple issues, that based upon LOAD will personify themselves differently.&lt;/P&gt;&lt;PRE class="language-java line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; File &lt;SPAN class="token function"&gt;copyToTempFile&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ContentStream contentStream&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;contentStream &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; null&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; null&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File result &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; null&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;try&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; TempFileProvider&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;createTempFile&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;contentStream&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getStream&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"cmis"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"content"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;catch&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token class-name"&gt;Exception&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;throw&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;CmisStorageException&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Unable to store content: "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getMessage&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;contentStream&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getLength&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;result &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; null &lt;SPAN class="operator token"&gt;||&lt;/SPAN&gt; contentStream&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getLength&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;length&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;removeTempFile&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;result&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;throw&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;CmisStorageException&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Expected "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; contentStream&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getLength&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;" bytes but retrieved "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;result &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; null &lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;:&lt;/SPAN&gt;result&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;length&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;" bytes!"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&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;/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;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;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;"result" is out of scope and should be dereferenced when the delete file is performed under the "removeTempFile(result)"&lt;/LI&gt;&lt;LI&gt;".createTempFile(contentStream.getStream()..." -- consumes contentStream.getStream() -- and also performs a "close" of the stream in its "Finally"-block.&amp;nbsp; However, the above code wants to continue to rely on contentStream.getLength() -- as if it should remain in scope&amp;nbsp; &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Feb 2017 18:35:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305813#M258943</guid>
      <dc:creator>ziggy</dc:creator>
      <dc:date>2017-02-01T18:35:53Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305814#M258944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For one, the removeTempFile(result); makes result.length() always be zero. Therefore the exception message is misleading.&amp;nbsp; Perhaps we ought to be seeing "Expected 654502 bytes but retrieved 654500 bytes!"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Update*&lt;/P&gt;&lt;P&gt;I patched the war to retain the resultLength&lt;/P&gt;&lt;PRE&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((contentStream.getLength() &amp;gt; -1) &amp;amp;&amp;amp; (result == null || contentStream.getLength() != result.length()))&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; long resultLength = result.length();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; removeTempFile(result);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new CmisStorageException("Expected " + contentStream.getLength() + " bytes but retrieved " +&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (result == null ? -1 :resultLength) + " bytes!")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;and it still says "... retrieved 0 bytes!".&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did packet captures on both the cmis client and server sides, and they both show that the posts are garbled. &amp;nbsp;It looks like the cmis client is generating garbled payloads, and the server cannot parse the content, resulting in zero-length content streams.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Feb 2017 18:41:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305814#M258944</guid>
      <dc:creator>aowian</dc:creator>
      <dc:date>2017-02-01T18:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305815#M258945</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are getting "Expected 250536 bytes but retrieved 0 bytes!" in everyday file upload into Alfresco and If we re-run same process again then we are not getting any exception. We couldn't see a pattern when and why it is happening.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read above answers in the thread but I am looking for how to re-produce the error and find the solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using below libraries.&lt;/P&gt;&lt;P&gt;org.alfresco.cmis.client = 1.0&lt;/P&gt;&lt;P&gt;org.apache.chemistry.opencmis = 0.13.0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please advise.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sachin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Feb 2018 19:49:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305815#M258945</guid>
      <dc:creator>sachinsurya</dc:creator>
      <dc:date>2018-02-06T19:49:49Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305816#M258946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Read the &lt;B&gt;kayne zhang&lt;/B&gt; answer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jun 2018 21:38:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305816#M258946</guid>
      <dc:creator>josenavarrovarg</dc:creator>
      <dc:date>2018-06-18T21:38:35Z</dc:date>
    </item>
    <item>
      <title>Re: CmisStorageException on checkin</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305817#M258947</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp;kayne zhang,&lt;/P&gt;&lt;P&gt;I've disable cache for session as&amp;nbsp;your instruction, but&amp;nbsp; in case of multi file upload concurrent, error still miss. To slove this problem, I must to sleep 2s (if multi file upload concurrent). So, do you have other solution? Please give me some advise?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Aug 2019 04:55:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/cmisstorageexception-on-checkin/m-p/305817#M258947</guid>
      <dc:creator>phong_van</dc:creator>
      <dc:date>2019-08-07T04:55:02Z</dc:date>
    </item>
  </channel>
</rss>

