saygoodbyye opened a new issue, #1439:
URL: https://github.com/apache/age/issues/1439

   **Describe the bug**
   Regression test "expr" fails in rare cases
   
   **How are you accessing AGE (Command line, driver, etc.)?**
   Accessing AGE through command line.
   
   **What data setup do we need to do?**
   Apache AGE (master branch) with PostgreSQL (REL_15_STABLE).
   
   **What is the necessary configuration info needed?**
   ./configure CFLAGS=" -Og" --enable-tap-tests --enable-debug --enable-cassert 
--prefix=/tmp/pgsql
   
   **What is the command that caused the error?**
   I removed all tests except "expr" from the Makefile and put "make 
installcheck" in a loop to reproduce the error.
   ```
   diff --git a/Makefile b/Makefile
   index ab98665..2f08858 100644
   --- a/Makefile
   +++ b/Makefile
   @@ -76,30 +76,8 @@ EXTENSION = age
    DATA = age--1.4.0.sql
    
    # sorted in dependency order
   -REGRESS = scan \
   -          graphid \
   -          agtype \
   -          catalog \
   -          cypher \
   -          expr \
   -          cypher_create \
   -          cypher_match \
   -          cypher_unwind \
   -          cypher_set \
   -          cypher_remove \
   -          cypher_delete \
   -          cypher_with \
   -          cypher_vle \
   -          cypher_union \
   -          cypher_call \
   -          cypher_merge \
   -          age_global_graph \
   -          age_load \
   -          index \
   -          analyze \
   -          graph_generation \
   -          name_validation \
   -          drop
   +
   +REGRESS = expr
    
    srcdir=`pwd`
   ```
   Start tests:
   ```
   for i in `seq 1000000`;do echo "iteration $i";NO_TEMP_INSTALL=1 make -s 
installcheck || break;done
   ```
   The test may fail on a random iteration. I received failures at iteration 
~600, at iteration ~3500, and during the last run the test failed at iteration 
199 with following "regression.diffs":
   ```
   iteration 199
   +++ regress install-check in  +++
   ============== creating temporary instance            ==============
   ============== initializing database system           ==============
   ============== starting postmaster                    ==============
   running on port 61958 with PID 3302580
   ============== creating database "contrib_regression" ==============
   CREATE DATABASE
   ALTER DATABASE
   ALTER DATABASE
   ALTER DATABASE
   ALTER DATABASE
   ALTER DATABASE
   ALTER DATABASE
   ============== installing age                         ==============
   CREATE EXTENSION
   ============== running regression test queries        ==============
   test expr                         ... FAILED      643 ms
   ============== shutting down postmaster               ==============
   
   ======================
    1 of 1 tests failed. 
   ======================
   
   ```
   regression.diffs:
   ```
   diff -U3 /home/test/work/subtree/age/regress/expected/expr.out 
/home/test/work/subtree/age/regre>
   --- /home/test/work/subtree/age/regress/expected/expr.out       2023-12-06 
13:30:29.282207296 +0>
   +++ /home/test/work/subtree/age/regress/results/expr.out        2023-12-06 
13:42:58.481465465 +0>
   @@ -7217,12 +7217,12 @@
    SELECT * FROM cypher('keys', $$MATCH ()-[e]-() RETURN keys(e)$$) AS 
(edge_keys agtype);
     edge_keys
    -----------
   - []
   - []
     ["song"]
     ["song"]
     ["song"]
     ["song"]
   + []
   + []
    (6 rows)
   
    SELECT * FROM cypher('keys', $$RETURN keys({a:1,b:'two',c:[1,2,3]})$$) AS 
(keys agtype);
   ```
   But in some cases the test may fail with another regression.diffs:
   ```
   diff -U3 /opt/pgpro/ent-14/src/apache-age-test/./regress/expected/expr.out 
/opt/pgpro/ent-14/src/apache-age-test/./regress/results/expr.out
   --- /opt/pgpro/ent-14/src/apache-age-test/./regress/expected/expr.out        
2023-09-26 17:35:01.000000000 +0300
   +++ /opt/pgpro/ent-14/src/apache-age-test/./regress/results/expr.out 
2023-11-30 06:00:38.531000000 +0300
   @@ -6612,6 +6612,7 @@
    ERROR:  keys() argument must be a vertex, edge, object or null
    SELECT * from cypher('keys', $$MATCH u=()-[]-() RETURN keys(u)$$) as (keys 
agtype);
    ERROR:  keys() argument must be a vertex, edge, object or null
   +CONTEXT:  parallel worker
    SELECT create_graph('list');
    NOTICE:  graph "list" has been created
     create_graph 
   ```
   **Expected behavior**
   Consistent test passing
   


-- 
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...@age.apache.org.apache.org

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

Reply via email to