1 2 Previous Next 15 Replies Latest reply on Mar 26, 2013 11:33 AM by Sai Gujja

    Malformed Attribute Value - LDAP Translator - is this a bug?

    Sai Gujja Newbie

      Hi,

       

      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.

        1 2 Previous Next