Bug 1235716 - [search] PSQLException: ERROR: invalid input syntax for type boolean: "foobar"
Summary: [search] PSQLException: ERROR: invalid input syntax for type boolean: "foobar"
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-engine-core
Version: 3.6
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 3.6.0
Assignee: Eli Mesika
QA Contact: Jiri Belka
URL:
Whiteboard: infra
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-25 14:52 UTC by Jiri Belka
Modified: 2016-02-10 19:31 UTC (History)
7 users (show)

Fixed In Version: 3.6.0-4_alpha3
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-04 11:21:11 UTC
oVirt Team: Infra
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 43202 0 master MERGED core: handle boolean values correctly in search Never

Description Jiri Belka 2015-06-25 14:52:02 UTC
Description of problem:

boolean type seems not to be handled correctly for 'Host: update_available = foobar', it causes never ending three-squares loading.

2015-06-25 16:48:08,274 DEBUG [org.ovirt.engine.core.bll.aaa.ValidateSessionQuery] (ajp--127.0.0.1-8702-6) [] Found session user
2015-06-25 16:48:08,275 DEBUG [org.ovirt.engine.core.bll.aaa.ValidateSessionQuery] (ajp--127.0.0.1-8702-6) [] ValidateSession ended
2015-06-25 16:48:08,276 DEBUG [org.ovirt.engine.core.bll.SearchQuery] (ajp--127.0.0.1-8702-6) [] ResourceManager::searchBusinessObjects(''Host: update_available = foobar'') - entered
2015-06-25 16:48:08,277 DEBUG [org.ovirt.engine.core.bll.SearchQuery] (ajp--127.0.0.1-8702-6) [] Executing generic query: SELECT * FROM ((SELECT distinct vds.* FROM  vds   WHERE  vds.is_update_available = 'foobar' )  ORDER BY vds_name ASC ) as T1 OFFSET (1 -1) LIMIT 100
2015-06-25 16:48:08,279 ERROR [org.ovirt.engine.core.bll.SearchQuery] (ajp--127.0.0.1-8702-6) [] Query 'SearchQuery' failed: StatementCallback; SQL [SELECT * FROM ((SELECT distinct vds.* FROM  vds   WHERE  vds.is_update_available = 'foobar' )  ORDER BY vds_name ASC ) as T1 OFFSET (1 -1) LIMIT 100]; ERROR: invalid input syntax for type boolean: "foobar"
  Position: 84; nested exception is org.postgresql.util.PSQLException: ERROR: invalid input syntax for type boolean: "foobar"
  Position: 84
2015-06-25 16:48:08,280 ERROR [org.ovirt.engine.core.bll.SearchQuery] (ajp--127.0.0.1-8702-6) [] Exception: org.springframework.dao.DataIntegrityViolationException: StatementCallback; SQL [SELECT * FROM ((SELECT distinct vds.* FROM  vds   WHERE  vds.is_update_available = 'foobar' )  ORDER BY vds_name ASC ) as T1 OFFSET (1 -1) LIMIT 100]; ERROR: invalid input syntax for type boolean: "foobar"
  Position: 84; nested exception is org.postgresql.util.PSQLException: ERROR: invalid input syntax for type boolean: "foobar"
  Position: 84
        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:101) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.ovirt.engine.core.dao.VdsDAODbFacadeImpl.getAllWithQuery(VdsDAODbFacadeImpl.java:117) [dal.jar:]
        at org.ovirt.engine.core.bll.SearchQuery.genericSearch(SearchQuery.java:274) [bll.jar:]
        at org.ovirt.engine.core.bll.SearchQuery.searchVDSsByDb(SearchQuery.java:170) [bll.jar:]
        at org.ovirt.engine.core.bll.SearchQuery.executeQueryCommand(SearchQuery.java:93) [bll.jar:]
        at org.ovirt.engine.core.bll.QueriesCommandBase.executeCommand(QueriesCommandBase.java:82) [bll.jar:]
        at org.ovirt.engine.core.dal.VdcCommandBase.execute(VdcCommandBase.java:33) [dal.jar:]
        at org.ovirt.engine.core.bll.Backend.runQueryImpl(Backend.java:514) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runQuery(Backend.java:488) [bll.jar:]
        at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) [:1.7.0_79]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:114) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:125) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:135) [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.ovirt.engine.core.bll.interceptors.CorrelationIdTrackerInterceptor.aroundInvoke(CorrelationIdTrackerInterceptor.java:13) [bll.jar:]
        at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source) [:1.7.0_79]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
        at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:123) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
...
Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type boolean: "foobar"
  Position: 84
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
        at org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:340)
        at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:441) [spring-jdbc.jar:3.1.1.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396) [spring-jdbc.jar:3.1.1.RELEASE]
        ... 115 more


Version-Release number of selected component (if applicable):
ovirt-engine-backend-3.6.0-0.0.master.20150519172219.git9a2e2b3.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1. 'Host: update_available = foobar' in Admin portal
2.
3.

Actual results:
never ending three-squares loading, psql exception

Expected results:
should not cause "stucked" web app

Additional info:

Comment 1 Jiri Belka 2015-09-16 16:42:17 UTC
ok, rhevm-backend-3.6.0-0.15.master.el6.noarch

ok "bad" boolean doesn't make UI stucked

2015-09-16 18:41:18,376 DEBUG [org.ovirt.engine.core.bll.SearchQuery] (ajp-/127.0.0.1:8702-8) [] ResourceManager::searchBusinessObjects(''Host: update_available = foobar'') - entered
2015-09-16 18:41:18,376 INFO  [org.ovirt.engine.core.bll.SearchQuery] (ajp-/127.0.0.1:8702-8) [] ResourceManager::searchBusinessObjects - erroneous search text - ''Host: update_available = foobar''

Comment 2 Sandro Bonazzola 2015-11-04 11:21:11 UTC
oVirt 3.6.0 has been released on November 4th, 2015 and should fix this issue.
If problems still persist, please open a new BZ and reference this one.


Note You need to log in before you can comment on or make changes to this bug.