[postgis-tickets] [PostGIS] #4117: TWKB regress: Failures when some tests are run in parallel

PostGIS trac at osgeo.org
Fri Jul 6 04:30:14 PDT 2018


#4117: TWKB regress: Failures when some tests are run in parallel
------------------------+---------------------------
 Reporter:  Algunenano  |      Owner:  Algunenano
     Type:  defect      |     Status:  assigned
 Priority:  low         |  Milestone:  PostGIS 2.5.0
Component:  postgis     |    Version:  trunk
 Keywords:              |
------------------------+---------------------------
 Running PG11 with the costs tweaked to favor parallel plans I get an error
 due to the order or the geometries in `ST_Collect` (which is PARALLEL
 SAFE):
 {{{
 -GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3
 3))|0700020100020202000204040202
 -GEOMETRYCOLLECTION(MULTIPOINT(1 1,2 2),POINT(78 -78),POLYGON((1 1,1 2,2
 2,2 1,1 1)))|0700030400020202020201009c019b010300010502020002020000010100
 +GEOMETRYCOLLECTION(LINESTRING(2 2,3 3),POINT(1
 1))|0700020200020404020201000202
 +GEOMETRYCOLLECTION(POLYGON((1 1,1 2,2 2,2 1,1 1)),POINT(78
 -78),MULTIPOINT(1 1,2
 2))|070003030001050202000202000001010001009c019b0104000202020202
 }}}

 The plan:
 {{{
 template_postgis=# explain analyze select
 st_astext(st_collect(g::geometry)),
 encode(ST_AsTWKB(ST_Collect(g::geometry),0),'hex') from
 (
 select 'MULTIPOINT((1 1),(2 2))'::text g
 union all
 select 'POINT(78 -78)'::text g
 union all
 select 'POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'::text g
 ) foo;
                                                 QUERY PLAN
 ----------------------------------------------------------------------------------------------------------
  Aggregate  (cost=18.60..771.60 rows=1 width=64) (actual
 time=13.720..13.720 rows=1 loops=1)
    ->  Gather  (cost=0.10..4.60 rows=3 width=32) (actual
 time=0.392..13.573 rows=3 loops=1)
          Workers Planned: 2
          Workers Launched: 2
          ->  Parallel Append  (cost=0.00..4.50 rows=1 width=32) (actual
 time=0.002..0.003 rows=1 loops=3)
                ->  Result  (cost=0.00..1.00 rows=1 width=32) (actual
 time=0.000..0.000 rows=1 loops=1)
                ->  Result  (cost=0.00..1.00 rows=1 width=32) (actual
 time=0.001..0.001 rows=1 loops=1)
                ->  Result  (cost=0.00..1.00 rows=1 width=32) (actual
 time=0.003..0.003 rows=1 loops=1)
  Planning Time: 0.157 ms
  Execution Time: 14.668 ms
 (10 rows)
 }}}

 I'll try to force the order to avoid unpredictability.

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4117>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list