yaozhu opened a new issue, #2623:
URL: https://github.com/apache/drill/issues/2623

   **Describe the bug**
   The drill report a exception since a query running,
   report msg:There are not enough rules to produce a node with desired 
properties
   
   **To Reproduce**
   CREATE TABLE ORDERS  ( O_ORDERKEY       INTEGER NOT NULL,
                              O_CUSTKEY        INTEGER NOT NULL,
                              O_ORDERSTATUS    CHAR(1) NOT NULL,
                              O_TOTALPRICE     DECIMAL(15,2) NOT NULL,
                              O_ORDERDATE      DATE NOT NULL,
                              O_ORDERPRIORITY  CHAR(15) NOT NULL,  
                              O_CLERK          CHAR(15) NOT NULL, 
                              O_SHIPPRIORITY   INTEGER NOT NULL,
                              O_COMMENT        VARCHAR(79) NOT NULL);
   
   CREATE TABLE LINEITEM ( L_ORDERKEY    INTEGER NOT NULL,
                                L_PARTKEY     INTEGER NOT NULL,
                                L_SUPPKEY     INTEGER NOT NULL,
                                L_LINENUMBER  INTEGER NOT NULL,
                                L_QUANTITY    DECIMAL(15,2) NOT NULL,
                                L_EXTENDEDPRICE  DECIMAL(15,2) NOT NULL,
                                L_DISCOUNT    DECIMAL(15,2) NOT NULL,
                                L_TAX         DECIMAL(15,2) NOT NULL,
                                L_RETURNFLAG  CHAR(1) NOT NULL,
                                L_LINESTATUS  CHAR(1) NOT NULL,
                                L_SHIPDATE    DATE NOT NULL,
                                L_COMMITDATE  DATE NOT NULL,
                                L_RECEIPTDATE DATE NOT NULL,
                                L_SHIPINSTRUCT CHAR(25) NOT NULL,
                                L_SHIPMODE     CHAR(10) NOT NULL,
                                L_COMMENT      VARCHAR(44) NOT NULL);
   
   select L_ORDERKEY,O_ORDERKEY from lineitem  right join orders on O_ORDERKEY 
= L_ORDERKEY where L_ORDERKEY = 1 ;
   
   **Expected behavior**
   
   The query should be running normally
   
   **Screenshots**
   
   Error: SYSTEM ERROR: CannotPlanException: There are not enough rules to 
produce a node with desired properties: convention=PHYSICAL, 
DrillDistributionTraitDef=SINGLETON([]), sort=[].
   Missing conversion is VertexDrel[convention: LOGICAL -> PHYSICAL, 
DrillDistributionTraitDef: ANY([]) -> SINGLETON([])]
   There is 1 empty subset: rel#3618:Subset#15.PHYSICAL.SINGLETON([]).[], the 
relevant part of the original plan is as follows
   3579:VertexDrel
     3577:DrillProjectRel(subset=[rel#3578:Subset#14.LOGICAL.ANY([]).[]], 
L_ORDERKEY=[CAST($0):INTEGER], O_ORDERKEY=[$1])
       3575:JdbcJoin(subset=[rel#3576:Subset#13.JDBC.mysql.ANY([]).[]], 
condition=[=($1, $0)], joinType=[inner])
         3572:DrillFilterRel(subset=[rel#3573:Subset#11.LOGICAL.ANY([]).[]], 
condition=[=($0, 1)])
           
3306:JdbcTableScan(subset=[rel#3571:Subset#10.JDBC.mysql.ANY([]).[]], 
table=[[mysql, test, lineitem]])
         3307:JdbcTableScan(subset=[rel#3574:Subset#12.JDBC.mysql.ANY([]).[]], 
table=[[mysql, test, orders]])
   
   Root: rel#3583:Subset#16.PHYSICAL.SINGLETON([]).[]
   Original rel:
   LogicalProject(subset=[rel#3356:Subset#4.LOGICAL.ANY([]).[]], 
L_ORDERKEY=[$0], O_ORDERKEY=[$1]): rowcount = 225.0, cumulative cost = {225.0 
rows, 450.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3354
     LogicalFilter(subset=[rel#3353:Subset#3.NONE.ANY([]).[]], condition=[=($0, 
1)]): rowcount = 225.0, cumulative cost = {225.0 rows, 1500.0 cpu, 0.0 io, 0.0 
network, 0.0 memory}, id = 3352
       LogicalJoin(subset=[rel#3351:Subset#2.NONE.ANY([]).[]], condition=[=($1, 
$0)], joinType=[right]): rowcount = 1500.0, cumulative cost = {1500.0 rows, 0.0 
cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3350
         JdbcTableScan(subset=[rel#3348:Subset#0.JDBC.mysql.ANY([]).[]], 
table=[[mysql, test, lineitem]]): rowcount = 100.0, cumulative cost = {100.0 
rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3306
         JdbcTableScan(subset=[rel#3349:Subset#1.JDBC.mysql.ANY([]).[]], 
table=[[mysql, test, orders]]): rowcount = 100.0, cumulative cost = {100.0 
rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 3307
   
   
   
   **Additional context**
   Add any other context about the problem here.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to