the root of the problem is hibernate, resultset
and the methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
In-Reply-To: <29276448.1223972600899.JavaMail.jira(a)cloud.prod.atl2.jboss.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
[
https://jira.jboss.org/jira/browse/JBAS-6086?page=3Dcom.atlassian.jir=
a.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D12501503=
#action_12501503 ]=20
Andrew Oliver commented on JBAS-6086:
-------------------------------------
This seems to be more of a hibernate problem at worst case, but I suspect i=
t has more to do with specific configuration (using english column names wi=
th a database language/locale that is not properly configured for such).
The suggested fix is not an appropriate fix for the problem as not all data=
bases or situations call for it.
the root of the problem is hibernate, resultset and=20
the root
of the problem is hibernate, resultset and the methods of org.jbo=
ss.resource.adapter.jdbc.WrappedResultSet class.
-------------------------------------------------------------------------=
---------------------------------------------------------------------------=
-----------------------------
Key: JBAS-6086
URL:
https://jira.jboss.org/jira/browse/JBAS-6086
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)=20
Components: Hibernate service, Transaction Manager (JBossTM)
Affects Versions: JBossAS-4.2.3.GA
Environment: Linux Pardus, Turkish Locale, Java jdk 1.5
Reporter: halil agin
Assignee: Steve Ebersole
Priority: Critical
Original Estimate: 1 minute
Remaining Estimate: 1 minute
when
http://localhost:8080/portal is called, the error is printed on the =
page. it
is below.
type Exception report
message
description The server encountered an internal error () that prevented it=
from
fulfilling this request.
exception
javax.servlet.ServletException: org.postgresql.util.PSQLException: Bu Res=
ultSet
i=C3=A7inde LISTENER10_0_ s=C3=BCtun ad? bulunamad?.
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.ja=
va:278)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil=
ter.java:96)
root cause
org.postgresql.util.PSQLException: Bu ResultSet i=C3=A7inde LISTENER10_0_=
s=C3=BCtun ad? bulunamad?.
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2Re=
sultSet.java:2391)
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2Res=
ultSet.java:2210)
=09org.jboss.resource.adapter.jdbc.WrappedResultSet.getString(WrappedResu=
ltSet.java:888)
=09org.hibernate.type.StringType.get(StringType.java:18)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
=09org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
=09org.hibernate.persister.entity.AbstractEntityPersister.hydrate(Abstrac=
tEntityPersister.java:2096)
=09org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
=09org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
=09org.hibernate.loader.Loader.getRow(Loader.java:1206)
=09org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
=09org.hibernate.loader.Loader.doQuery(Loader.java:701)
=09org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loa=
der.java:236)
=09org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLo=
ader.java:48)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLo=
ader.java:42)
=09org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEn=
tityPersister.java:3044)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(De=
faultLoadEventListener.java:395)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEve=
ntListener.java:375)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEvent=
Listener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLo=
adEventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEve=
ntListener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
=09org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
=09org.hibernate.type.EntityType.resolve(EntityType.java:379)
=09org.hibernate.type.OneToOneType.assemble(OneToOneType.java:141)
=09org.hibernate.type.TypeFactory.assemble(TypeFactory.java:420)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:96)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:82)
=09org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(De=
faultLoadEventListener.java:553)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCa=
che(DefaultLoadEventListener.java:508)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEve=
ntListener.java:357)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEvent=
Listener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLo=
adEventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEve=
ntListener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:815)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContaine=
r.getObjectNode(PersistentPortalObjectContainer.java:296)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContaine=
r.getObjectNode(PersistentPortalObjectContainer.java:252)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.=
getContext(AbstractPortalObjectContainer.java:112)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.=
getContext(AbstractPortalObjectContainer.java:81)
=09org.jboss.portal.core.model.portal.DefaultPortalCommandFactory.doMappi=
ng(DefaultPortalCommandFactory.java:72)
=09org.jboss.portal.core.controller.Controller.handle(Controller.java:252=
)
=09org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestCont=
rollerDispatcher.java:51)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:131)
=09org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(C=
ontentTypeInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invo=
ke(PortalContextPathInterceptor.java:45)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleIn=
terceptor.java:96)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterc=
eptor.java:193)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignO=
utInterceptor.java:98)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.=
invoke(UserEventBridgeTriggerInterceptor.java:65)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.aspects.server.IdentityCacheInterceptor.invoke(I=
dentityCacheInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$=
portal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInt=
erceptor.java:49)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N51=
43606530999904530.invokeNext(TransactionInterceptor$invoke_N514360653099990=
4530.java)
=09org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
=09org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.ja=
va:262)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N51=
43606530999904530.invokeNext(TransactionInterceptor$invoke_N514360653099990=
4530.java)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(Tra=
nsactionInterceptor.java)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.jav=
a:38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor=
.java:139)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.ja=
va:115)
=09org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:1=
57)
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.ja=
va:252)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFil=
ter.java:96)
note The full stack trace of the root cause is available in the
JBossWeb/=
2.0.1.GA logs.
the root of the problem is hibernate, resultset and=20
> the
methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
> the class file is located in ./connector/src/main/org/jboss/resource/adap=
ter/jdbc/WrappedResultSet.java=20
under src directory.
the problem definition:
the parameter named colname Or columnName of the functions get* or update=
*
the member functions having below format (*:means any string) are
buggy.
get*(String colName, <other params>)
get*(String columnName, <other params>)
find*(String columnName, <other params>)
update*(String colName, <other params>)
update*(String columnName, <other params>)
when above functions are called, colName or columnName parameter, which i=
ndicates
the column names in the result set, assigned to a string which is =
represented as upper case. However, in the result set, the column name has =
a low case representation, therefore when the below functions called in the=
the member functions mentioned above, the wrong colName and columnName pas=
sed to resultSet functions. ThereFore, no columnname found in the resultset=
which is not wanted.
resultSet.get*(String colName, <other params>)
resultSet.get*(String columnName, <other params>)
resultSet.update*(String colName, <other params>)
resultSet.update*(String columnName, <other params>)
For example, the parameter of function named colName has value LISTENER10=
_1_, but
in the resultSet there is a column named listener10_1_. Therefore,=
the function in the line 254 returns null, which is the root of the probl=
em.
249 public Array getArray(String colName) throws SQLException
250 {
251 checkState();
252 try
253 {
254 return resultSet.getArray(colName);
255 }
256 catch (Throwable t)
257 {
258 throw checkException(t);
259 }
260 }
--=20
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: htt=
ps://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira