From: Andrew C. O. (JIRA) <no...@at...> - 2006-02-22 19:32:52
|
getSingleResult throws bogus javax.persistence.NoResultException ---------------------------------------------------------------- Key: EJB-133 URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 Project: Hibernate Entity Manager Type: Bug Versions: 3.1beta8 Reporter: Andrew C. Oliver http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - This is the code: /* * (non-Javadoc) * * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) */ @Tx(TxType.REQUIRED) public Mailbox getMailboxByAlias(String alias) { emInit(); String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; return (Mailbox) session.createQuery(query) .setParameter("alias", alias).getSingleResult(); } It results in this query: select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: Caused by: javax.persistence.NoResultException: No entity found for query at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Steve E. (JIRA) <no...@at...> - 2006-02-22 19:33:01
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_22294 ] Steve Ebersole commented on EJB-133: ------------------------------------ I have some local test stuff all setup to test this theory. But I still need to know the type of the underlying exception and the origin of this exception; stack trace would be ideal. I have tried both RuntimeExceptions and SQLExceptions (as those are the only exceptions that can logically be thrown during jdbc interactions) thrown at various points from within a mocked Connection; all without being able to reproduce this. > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Andrew C. O. (JIRA) <no...@at...> - 2006-02-23 02:56:02
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_22297 ] Andrew C. Oliver commented on EJB-133: -------------------------------------- fine. close it. > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Emmanuel B. (JIRA) <no...@at...> - 2006-02-23 02:56:09
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_22299 ] Emmanuel Bernard commented on EJB-133: -------------------------------------- This exception is raised if hibernateQuery.uniqueResult() returns null if ( result == null ) { throw new NoResultException( "No entity found for query" ); } There is no underlying Exception. > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Steve E. (JIRA) <no...@at...> - 2006-02-23 22:19:56
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=all ] Steve Ebersole resolved EJB-133: -------------------------------- Resolution: Cannot Reproduce Well not sure what else you want me to do with a bug that I cannot reproduce and that supposedly fails with some mysterious SQLException that simply gets eaten and not even logged. Perhaps I could try a Vulcan mind-meld with your system and see through to its intentions? > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Andrew C. O. (JIRA) <no...@at...> - 2006-02-23 22:19:57
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_22307 ] Andrew C. Oliver commented on EJB-133: -------------------------------------- I had ideas on how you could diagnose it but you weren't interested in them.. ripped out the call. Replaced with getResultList(). works now, NEVER get null back (not even once). Like I said "fine. close it." -Andy > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Steve E. (JIRA) <no...@at...> - 2006-02-24 01:20:23
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_22315 ] Steve Ebersole commented on EJB-133: ------------------------------------ Sure, you'd *never* get back null from a list() call... > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Igor A T. (JIRA) <no...@at...> - 2006-06-21 00:16:34
|
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-133?page=comments#action_23364 ] Igor A Tarasov commented on EJB-133: ------------------------------------ To: Andrew C. Oliver It is not necessary to argue with developers. if you think, that they are using this code in real big projects, you miss :-) It is better to write wrapper for itself than to wait while developers will understand that it inconveniently ;p) Try this: public static final <T> T query_getSingleResult(Query query, Class<T> clazz) { try { return (T)query.getSingleResult(); } catch (NoResultException ex) { return null; } } or this: public static final <T> T query_getSingleResult(Query query, Class<T> clazz) throws NotRuntimeException { try { return (T)query.getSingleResult(); } catch (NoResultException ex) { throw new NotRuntimeException(ex); } } > getSingleResult throws bogus javax.persistence.NoResultException > ---------------------------------------------------------------- > > Key: EJB-133 > URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-133 > Project: Hibernate Entity Manager > Type: Bug > Versions: 3.1.0.Beta8 > Reporter: Andrew C. Oliver > > > http://jira.jboss.com/jira/browse/EJBTHREE-451 - originally opened as (but is clearly a Hibernate issue) - > This is the code: > /* > * (non-Javadoc) > * > * @see org.jboss.mail.mailbox.MailboxService#getMailboxByAlias(java.lang.String) > */ > @Tx(TxType.REQUIRED) > public Mailbox getMailboxByAlias(String alias) { > emInit(); > String query = "from Mailbox as mbox join fetch mbox.defaultInFolder where mbox.aliases.name=:alias"; > return (Mailbox) session.createQuery(query) > .setParameter("alias", alias).getSingleResult(); > } > It results in this query: > select mailbox0_.id as id4_0_, folder1_.id as id4_1_, mailbox0_.parent_id as parent4_4_0_, mailbox0_.name as name4_0_, mailbox0_.defaultOutFolder_id as defaultO5_4_0_, mailbox0_.defaultInFolder_id as defaultI6_4_0_, folder1_.parent_id as parent4_4_1_, folder1_.name as name4_1_, folder1_.defaultOutFolder_id as defaultO5_4_1_, folder1_.defaultInFolder_id as defaultI6_4_1_, folder1_.TYPE as TYPE4_1_ from Folder mailbox0_ inner join Folder folder1_ on mailbox0_.defaultInFolder_id=folder1_.id, Alias aliases2_ where mailbox0_.TYPE='org.jboss.mail.mailbox.Mailbox' and mailbox0_.id=aliases2_.FOLDER_ID and aliases2_.name= ?; > When the above query is run from the console with the value replacing the ?, a result is returned. The aliases and mailboxes were precreated. However this exception is returned: > Caused by: javax.persistence.NoResultException: No entity found for query > at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:47) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$loadMetaData$aop(AbstractStore.java:181) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$loadMetaData_N999927503220138265.invokeNext()Ljava.lang.Object;(AbstractStore$loadMetaData_N999927503220138265.java:???) > at org.jboss.mail.store.AbstractStore.loadMetaData(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItemMetaData;(AbstractStore.java:???) > at org.jboss.mail.store.AbstractStore.org$jboss$mail$store$AbstractStore$getStoreItem$aop(AbstractStore.java:87) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) > at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:196) > at org.jboss.mail.store.AbstractStore$getStoreItem_N5079312968078757045.invokeNext()Ljava.lang.Object;(AbstractStore$getStoreItem_N5079312968078757045.java:???) > at org.jboss.mail.store.AbstractStore.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(AbstractStore.java:???) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:87) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:638) > at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) > at $Proxy103.getStoreItem(Ljava.lang.Long;)Lorg.jboss.mail.store.StoreItem;(Unknown Source) > at org.jboss.mail.message.StoredMailBody.getItem(StoredMailBody.java:105) > at org.jboss.mail.message.StoredMailBody.getSize(StoredMailBody.java:172) > at org.jboss.mail.mailbox.MessageData.<init>(MessageData.java:119) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.org$jboss$mail$mailhandler$localmailbox$LocalDelivery$deliver$aop(LocalDelivery.java:101) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.access$1(Lorg.jboss.mail.mailhandler.localmailbox.LocalDelivery;Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) > at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery$deliver_7597238674321613949.invokeNext()Ljava.lang.Object;(LocalDelivery$deliver_7597238674321613949.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.deliver(Lorg.jboss.mail.mailbox.MailboxService;Lorg.jboss.mail.message.MailAddress;Lorg.jboss.mail.message.Mail;)S(LocalDelivery.java:???) > at org.jboss.mail.mailhandler.localmailbox.LocalDelivery.send(LocalDelivery.java:43) > at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) > You can find a log demonstrating this on dev09 in /services/specmail directory. it isn't a small log file because debugging was turned up all the way :-) So eric will be bugging me to delete it before long. > Under load when connections timeout this exception is thrown. I suspect that deep down it is a broken socket or similar based SQL exception, but the result is actually threre. The number of them go up as load increases. This has been replicated under Postgresql and Mysql. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |