My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 1173: OR clause can cause query to fail
4 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by virap...@gmail.com, Nov 9, 2011
Affected Version:
2.2.1-4-g4b9d4ed

What steps will reproduce the problem?
1. Query for "ownerin:some-group" -> get results.
2. Query for "owner:some-username" -> get results.
3. Query for "ownerin:some-group OR owner:some-username" -> get {"type":"error","message":"cannot query database"}

What is the expected output? What do you see instead?
No error and result from both previous queries.
Apr 30, 2014
Project Member #1 zaro0508
this issue seems to be fixed.  not sure what version it was first fixed in but I have verified that it works as expected in gerrit version 2.8.4
Dec 10, 2015
#2 vincent....@intersec.com
We encounter the exact same issue on gerrit 2.11.4.

The backtrace we get is (a name was redacted):

576 [2015-12-10 10:56:02,200] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in GET /r/changes/?q=ownerin:THE_TEAM_NAME+OR+owner:self&n=100&O=881
577 com.google.gwtorm.server.OrmException: No ChangeDataSource: ownerin:7c44a6b92cccdbef64e399d0618bc5496249f51c
578 >---at com.google.gerrit.server.query.change.OrSource.read(OrSource.java:51)
579 >---at com.google.gerrit.server.query.change.AndSource.readImpl(AndSource.java:115)
580 >---at com.google.gerrit.server.query.change.AndSource.read(AndSource.java:99)
581 >---at com.google.gerrit.server.query.change.QueryProcessor.queryChanges(QueryProcessor.java:153)
582 >---at com.google.gerrit.server.query.change.QueryProcessor.queryChanges(QueryProcessor.java:102)
583 >---at com.google.gerrit.server.query.change.QueryChanges.query0(QueryChanges.java:144)
584 >---at com.google.gerrit.server.query.change.QueryChanges.query(QueryChanges.java:133)
585 >---at com.google.gerrit.server.query.change.QueryChanges.apply(QueryChanges.java:99)
586 >---at com.google.gerrit.server.query.change.QueryChanges.apply(QueryChanges.java:40)
587 >---at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:324)
588 >---at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
589 >---at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
590 >---at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
591 >---at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
592 >---at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
593 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
594 >---at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82)
595 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
596 >---at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73)
597 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
598 >---at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117)
599 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
600 >---at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:68)
601 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
602 >---at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
603 >---at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
604 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
605 >---at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
606 >---at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
607 >---at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
608 >---at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
609 >---at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
610 >---at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
611 >---at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
612 >---at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
613 >---at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
614 >---at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
615 >---at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
616 >---at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
617 >---at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
618 >---at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
619 >---at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
620 >---at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
621 >---at org.eclipse.jetty.server.Server.handle(Server.java:497)
622 >---at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
623 >---at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
624 >---at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
625 >---at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
626 >---at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
627 >---at java.lang.Thread.run(Thread.java:745)

Sign in to add a comment

Powered by Google Project Hosting