Malformed Attribute Value - LDAP Translator - is this a bug?
sgujja Mar 19, 2013 12:06 PMHi,
I am new to Teiid development and I need help in figuring out an issue we are noticing.
Some background on what we are trying to do.
We defined views in our Metadata and are using our own translator to send requests from our UI to the LDAP, which I believe is using the TEIID LDAP Translator code behind the scenes.
We have multiple attributes defined in our view(metadata), and are of different datatypes like Varchar, Date, Time and Integer. We used our own translator to define them appropriately to TEIID.
for(int i=0;i<varcharAttr.size();i++)
{
Column userVarcharAttrCol = metadataFactory.addColumn(varcharAttr.get(i).toString(),
TypeFacility.getDataTypeNameFromSQLType(Types.VARCHAR), table);
userVarcharAttrCol.setUpdatable(true);
userVarcharAttrCol.setNullType(NullType.Nullable);
}
for(int i=0;i<IntegerAttr.size();i++)
{
Column userIntegerAttrCol = metadataFactory.addColumn(IntegerAttr.get(i).toString(),
TypeFacility.getDataTypeNameFromSQLType(Types.INTEGER), table);
userIntegerAttrCol.setUpdatable(true);
userIntegerAttrCol.setNullType(NullType.Nullable);
}
for(int i=0;i<DateAttr.size();i++)
{
Column userDateAttrCol = metadataFactory.addColumn(DateAttr.get(i).toString(),
TypeFacility.getDataTypeNameFromSQLType(Types.DATE), table);
userDateAttrCol.setUpdatable(true);
userDateAttrCol.setNullType(NullType.Nullable);
}
So our problem here is:
When we send a modify request to LDAP with value of datatype varchar, it works just fine. But when we send in a request with value of datatype integer or Date, it gives us the following exception and nothing actually goes to the LDAP server.
[10:06:00.087][info][talledLocalContainer] 10:06:00,087 INFO [com.ca.chorus.teiid.safety.SafetyHarnessExecutionFactory] (http--127.0.0.1-8080-4) Execute UPDATE tssadmingrp=acids,HOST=DE30_DE29,O=CAI,C=US SET perf = 1 WHERE acf2admingrp=lids,host=xe42_cia,o=ca,c=us?SUBTREE_SCOPE.DN = '"tssacid=ALLJEA5,tssadmingrp=acids,HOST=DE30_DE29,O=CAI,C=US"' against org.teiid.translator.ldap.LDAPUpdateExecution@5b23f927
[10:06:00.165][info][talledLocalContainer] 10:06:00,149 WARN [com.ca.chorus.teiid.safety.SafetyHarnessExecutionFactory] (http--127.0.0.1-8080-4) Execution failed: org.teiid.translator.TranslatorException: Update of "tssacid=ALLJEA5,tssadmingrp=acids,HOST=DE30_DE29,O=CAI,C=US" failed: Malformed 'perf' attribute value
[10:06:00.165][info][talledLocalContainer] at org.teiid.translator.ldap.LDAPUpdateExecution.executeUpdate(LDAPUpdateExecution.java:338)
[10:06:00.165][info][talledLocalContainer] at org.teiid.translator.ldap.LDAPUpdateExecution.execute(LDAPUpdateExecution.java:111)
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.teiid.safety.SafetyHarnessExecution.execute(SafetyHarnessExecution.java:115)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:290)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:257)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:425)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:270)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:279)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
[10:06:00.165][info][talledLocalContainer] at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82)
[10:06:00.165][info][talledLocalContainer] at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:506)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:69)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ExecDynamicSqlInstruction$1.process(ExecDynamicSqlInstruction.java:193)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:361)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:289)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:263)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.proc.ForEachRowPlan.nextBatch(ForEachRowPlan.java:123)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:118)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
[10:06:00.165][info][talledLocalContainer] at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:386)
[10:06:00.165][info][talledLocalContainer] at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) [:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at org.teiid.logging.LogManager$LoggingProxy.invoke(LogManager.java:121) [teiid-api-8.1.0.FinalCAFix-SNAPSHOT.jar:8.1.0.FinalCAFix-SNAPSHOT]
[10:06:00.165][info][talledLocalContainer] at org.teiid.jboss.TransportService$2.invoke(TransportService.java:205)
[10:06:00.165][info][talledLocalContainer] at $Proxy29.executeRequest(Unknown Source) at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) [:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:131)
[10:06:00.165][info][talledLocalContainer] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
[10:06:00.165][info][talledLocalContainer] at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:233)
[10:06:00.165][info][talledLocalContainer] at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:129)
[10:06:00.165][info][talledLocalContainer] at $Proxy29.executeRequest(Unknown Source) at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:631) [teiid-client-8.1.0.FinalCAFix-SNAPSHOT.jar:8.1.0.FinalCAFix-SNAPSHOT]
[10:06:00.165][info][talledLocalContainer] at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:506) [teiid-client-8.1.0.FinalCAFix-SNAPSHOT.jar:8.1.0.FinalCAFix-SNAPSHOT]
[10:06:00.165][info][talledLocalContainer] at org.teiid.jdbc.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:217) [teiid-client-8.1.0.FinalCAFix-SNAPSHOT.jar:8.1.0.FinalCAFix-SNAPSHOT]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.db.DbExecutor$9.call(DbExecutor.java:828) [common-db-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.db.DbExecutor$9.call(DbExecutor.java:804) [common-db-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.aop.guice.PerfTracer.trace(PerfTracer.java:57) [common-utils-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.db.DbExecutor.executeDml(DbExecutor.java:803) [common-db-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.db.DbExecutor.executeDml(DbExecutor.java:773) [common-db-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.mfui.chorusR2.server.service.ObjectsServiceImpl.updateFormObject(ObjectsServiceImpl.java:1257) [chorus-service-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03]
[10:06:00.165][info][talledLocalContainer] at com.ca.mfui.chorusR2.servlet.ChorusGWTServlet.processCall(ChorusGWTServlet.java:272) [chorus-service-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) [gwt-servlet-2.4.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) [gwt-servlet-2.4.0.jar:]
[10:06:00.165][info][talledLocalContainer] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
[10:06:00.165][info][talledLocalContainer] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.mfui.chorusR2.servlet.TransactionFilter$1.call(TransactionFilter.java:54) [chorus-service-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.mfui.chorusR2.servlet.TransactionFilter$1.call(TransactionFilter.java:43) [chorus-service-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.server.transaction.TransactionRunner.invoke(TransactionRunner.java:19) [transaction-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$de0a4189.CGLIB$invoke$1(<generated>)
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$de0a4189$$FastClassByGuice$$c9322dda.invoke(<generated>)
[10:06:00.165][info][talledLocalContainer] at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) [guice-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.aop.guice.PerfTracer.trace(PerfTracer.java:75) [common-utils-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.aop.guice.PerfTracer.trace(PerfTracer.java:92) [common-utils-3.0.1-SNAPSHOT.jar:]
[10:06:00.165][info][talledLocalContainer] at com.ca.chorus.server.transaction.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:31) [transaction-3.0.1-SNAPSHOT.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) [guice-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$de0a4189.invoke(<generated>)
[10:06:00.180][info][talledLocalContainer] at com.ca.mfui.chorusR2.servlet.TransactionFilter.doFilter(TransactionFilter.java:42) [chorus-service-3.0.1-SNAPSHOT.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
[10:06:00.180][info][talledLocalContainer] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03]
Are we missing something here? Any help in this matter is really appreciated.
Thank you,
Sai.