Changes between Initial Version and Version 1 of Ticket #4684, comment 14


Ignore:
Timestamp:
Jul 12, 2020, 10:47:56 PM (4 years ago)
Author:
Lars Aksel Opsahl

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4684, comment 14

    initial v1  
    55}}}
    66
    7 Then add code and data needed for testing 
     7Then add code and data needed for testing. The code is created from [https://github.com/larsop/resolve-overlap-and-gap/tree/trac_osgeo_org_postgis_ticket_4684] latest commit at July 10.
    88
    99{{{
     
    1313In the tests below we break input up lines that do not intersects any cell border and insert them into topology layer.
    1414There is only thread working at each cell at the same time
     15
     16Tested on
     17
     18
     19{{{
     20SELECT PostGIS_Full_Version();
     21                                                               postgis_full_version                                                               
     22--------------------------------------------------------------------------------------------------------------------------------------------------
     23 POSTGIS="3.1.0dev 3.1.0alpha1-144-g50796cc" [EXTENSION] PGSQL="120" GEOS="3.8.1-CAPI-1.13.3" PROJ="7.0.1" LIBXML="2.9.1" LIBJSON="0.11" TOPOLOGY
     24(1 row)
     25
     26SELECT PostGIS_Full_Version();
     27                                                                             postgis_full_version                                                                             
     28------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     29 POSTGIS="3.0.0 r17983" [EXTENSION] PGSQL="120" GEOS="3.8.0-CAPI-1.13.1 " PROJ="6.3.0" LIBXML="2.9.10" LIBJSON="0.13.1" LIBPROTOBUF="1.3.2" WAGYU="0.4.3 (Internal)" TOPOLOGY
     30(1 row)
     31
     32}}}
    1533
    1634
     
    4664
    4765}}}
     66In this I run 4 threads in parallel (With parallel I have tests showing that it run more than 10 times faster, than using a single thread)
     67I have got it to fail on mac a (with 2 dual core cpu) and Dell server (with 16 dual core cpu).
     68It may fail after 1 or after or 20 loops and it to be seems totally random where in the map the error happens
     69I have seen max 3 topo errors and they can occur in in cells not spatially not connected.
     70
     71FAILING test : db_topo_bug_4684_test_fail.sql
     72
     73
     74{{{
     75time psql t1 -f db_topo_bug_4684_test_fail.sql 2>&1|tee db_topo_bug_4684_test_fail.log
     76
     77PL/pgSQL function inline_code_block line 9 at CALL
     78LOCATION:  exec_stmt_raise, pl_exec.c:3827
     79  ?column?  |       error       | id1 |  id2   
     80------------+-------------------+-----+--------
     81 validation | face has no rings |  49 | [NULL]
     82(1 row)
     83
     84
     85}}}
     86
     87
     88Here I run single thread and I have never got it to fail.
     89OK test : db_topo_bug_4684_test_ok.sql
     90
     91Test with job_type 2 with many parallel , should return something like this
     92
     93{{{
     94time psql t1 -f db_topo_bug_4684_test_ok.sql 2>&1|tee db_topo_bug_4684_test_ok.log
     95
     96}}}