I'm using Alfresco Community Network - v2.9.0 (B 683) on Centos 5.2 server and I am witnessing random file corruption when uploading files from OS X. Result is that filesize is 0 bytes long, and if user does not check the files she/he has uploaded hilarity ensures. This is a major inconvenience, but I can't really do anything to it at the moment. Same upload from Linux did not produce any errors.
Following errors exist in logs. Full log can be added to jira or somewhere else, if Alfresco engineers want to take a peek.
09:28:45,869 ERROR [org.alfresco.smb.protocol] Closing session due to exception
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [org.alfresco.repo.domain.hibernate.NodeImpl] with identifier [87911]: optimistic
locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.a
lfresco.repo.domain.hibernate.NodeImpl#87911]
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.alfresco.repo.domain.hibern
ate.NodeImpl#87911]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1714)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2357)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2257)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2557)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl$8.doInHibernate(HibernateNodeDaoServiceImpl.java:889)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:333)
at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getChildAssocRefs(HibernateNodeDaoServiceImpl.java:892)
at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at org.alfresco.repo.transaction.TransactionalDaoInterceptor.invoke(TransactionalDaoInterceptor.java:68)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy1.getChildAssocRefs(Unknown Source)
at org.alfresco.repo.node.db.DbNodeServiceImpl.getChildAssocs(DbNodeServiceImpl.java:1282)
at sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
09:32:17,293 ERROR [org.alfresco.smb.protocol] Closing session due to exception
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [org.alfresco.repo.domain.hibernate.NodeImpl] with identifier [88183]: optimistic
locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.a
lfresco.repo.domain.hibernate.NodeImpl#88183]
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.alfresco.repo.domain.hibern
ate.NodeImpl#88183]
09:32:19,760 ERROR [org.alfresco.smb.protocol] Closing session due to exception
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [org.alfresco.repo.domain.hibernate.NodeImpl] with identifier [88221]: optimistic
locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.a
lfresco.repo.domain.hibernate.NodeImpl#88221]
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.alfresco.repo.domain.hibern
ate.NodeImpl#88221]