Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-16 Thread Dilip Kumar
omic_init_u32(>refcount, 0); > > Dilip, please also provide a proposed commit message describing what > this is fixing. Is it just the TBM_EMPTY case, or is there anything > else? Okay, I have added the commit message in the patch. -- Regards, Dilip Kumar EnterpriseDB: http://www.e

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-16 Thread Dilip Kumar
On Thu, Mar 16, 2017 at 5:14 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > pg_atomic_write_u32_impl(val=0) at generic.h:57, queue = > 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) >>> * frame #0: 0x000100caf314 postgres`tbm_p

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-16 Thread Dilip Kumar
the code if there are the similar mistake at other places. Soon I will post the patch. Thanks for the help. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
On Thu, Mar 16, 2017 at 5:02 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: > After above fix, I am not able to reproduce. Can you give me the > backtrace of the crash location or the dump? > > I am trying on the below commit > > commit c5832346625af4193b1242e57e7d13e66a

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
dump? I am trying on the below commit commit c5832346625af4193b1242e57e7d13e66a220b38 Author: Stephen Frost <sfr...@snowman.net> Date: Wed Mar 15 11:19:39 2017 -0400 + https://www.postgresql.org/message-id/attachment/50164/brin-correlation-v3.patch + fix_tbm_empty.patch -- Regards,

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
tch Robert mentioned that we might need to handle the TBM_EMPTY and I told that since we are not handling in non-parallel mode so we don't need to handle here as well. But, I was wrong. So the problem is that if state is not TBM_HASH then it's directly assuming TBM_ONE_PAGE which is completely

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
n access > more information. > > [1] > https://www.postgresql.org/message-id/attachment/50164/brin-correlation-v3.patch With my test case, I could not crash even with this patch applied. Can you provide your test case? (table, index, data, query) -- Regards, Dilip Kumar EnterpriseDB:

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
if either tuple is invalid memory(but I think it's not because we have already accessed this memory in above if check) or dtup is invalid (this is also not possible because brin_new_memtuple has already accessed this). -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
On Wed, Mar 15, 2017 at 8:51 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> I can try to provide a test case, if that wouldn't be enough to spot >> the problem. > > Thanks for reporting, I am looking into this. Meanwhile, if you can > provide the reproducible test c

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-15 Thread Dilip Kumar
ating the issue will be faster. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-03-14 Thread Dilip Kumar
Hmm, It seems that es->lazyEval is not set properly, Ideally, it should be set true only if it's lazy evaluation but in this case, it's used for identifying the tupcount as well. IMHO, it should be fixed. Any other opinion on this? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterp

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-09 Thread Dilip Kumar
On Thu, Mar 9, 2017 at 10:02 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > I slightly modified your query to reproduce this issue. > > explain analyze select * from r1 where value<555; > > Patch is attached to fix the problem. I forgot to mention the cause of

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-09 Thread Dilip Kumar
On Thu, Mar 9, 2017 at 9:37 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> =# create table r1(value int); >> CREATE TABLE >> =# insert into r1 select (random()*1000)::int from >> generate_Series(1,100); >> INSERT 0 100 >> =# create inde

Re: [HACKERS] Parallel Bitmap scans a bit broken

2017-03-09 Thread Dilip Kumar
e index on r1 using brin(value); > CREATE INDEX > =# set enable_seqscan=0; > SET > =# explain select * from r1 where value=555; I am looking into the issue, I have already reproduced it. I will update on this soon. Thanks for reporting. -- Regards, Dilip Kumar EnterpriseDB: http:/

Re: [HACKERS] Parallel bitmap heap scan

2017-03-08 Thread Dilip Kumar
o is also roll in the increment to prefetch > pages in there, so that you don't have to reacquire the spinlock after > calling PrefetchBuffer: > > bool do_prefetch = false; > SpinLockAcquire(>mutex); > if (pstate->prefetch_pages < pstate->prefetch_targ

Re: [HACKERS] Parallel bitmap heap scan

2017-03-08 Thread Dilip Kumar
y use it unless we stop the execution because of some limit clause. > >> Fixed > > Committed 0001. Thanks -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscr

Re: [HACKERS] Parallel bitmap heap scan

2017-03-07 Thread Dilip Kumar
On Tue, Mar 7, 2017 at 10:10 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> It's not about speed. It's about not forgetting to prefetch. Suppose >> that worker 1 becomes the prefetch worker but then doesn't return to >> the Bitmap Heap Scan node for a long time b

Re: [HACKERS] Proposal : Parallel Merge Join

2017-03-07 Thread Dilip Kumar
e should not do anything >> if jointype was JOIN_UNIQUE_INNER, so fixed that also. > > This version looks fine to me, so committed. Thank you. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To mak

Re: [HACKERS] Parallel bitmap heap scan

2017-03-07 Thread Dilip Kumar
issed this part. I will fix this. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2017-03-07 Thread Dilip Kumar
r. Done Apart from this, there was one problem in match_unsorted_outer (in v10), Basically, if inner_cheapest_total was not parallel_safe then I was always getting parallel safe inner. But, we should not do anything if jointype was JOIN_UNIQUE_INNER, so fixed that also. -- Regards, Dilip Kumar E

Re: [HACKERS] Parallel bitmap heap scan

2017-03-07 Thread Dilip Kumar
by multiple processes will it be any faster? Or you are thinking that at least we can make BufTableLookup call parallel because that is not an async call. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To

Re: [HACKERS] Parallel bitmap heap scan

2017-03-07 Thread Dilip Kumar
f (DsaPointerIsValid(node->pstate->prefetch_iterator)) > + dsa_free(dsa, node->pstate->prefetch_iterator); As per latest code, both should be calling to tbm_free_shared_area because tbm_free_shared_area is capable of handling that. My silly mistake. I will fix i

Re: [HACKERS] Proposal : Parallel Merge Join

2017-03-07 Thread Dilip Kumar
_cheapest_path_for_pathkeys" for complete pathlist and if we decide not to call consider_parallel_mergejoin if the cheapest parallel safe path in innerrel->cheapest_parameterized_paths is NULL then it will not be fair (we might have some parallel safe paths in innerrel->pathlist). -- Reg

Re: [HACKERS] Proposal : Parallel Merge Join

2017-03-06 Thread Dilip Kumar
op and consider_parallel_mergejoin calls > inside the if-block. Done > > You could Assert(nestjoinOK) instead of testing it, although I guess > it doesn't really matter. left as it is. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com parallel_mergejoin_v9.patch Description:

Re: [HACKERS] Parallel bitmap heap scan

2017-03-05 Thread Dilip Kumar
> to be adding rather than removing complexity after this refactoring. 0003 is rebased after this commit. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 0003-parallel-bitmap-heapscan-v7.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hack

Re: [HACKERS] Proposal : Parallel Merge Join

2017-03-03 Thread Dilip Kumar
oceed with this paths if this is not directly parameterized by outer? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-28 Thread Dilip Kumar
other > better way to handle the same. Done that way. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com parallel_mergejoin_v8.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-28 Thread Dilip Kumar
s covering more ordered keys. Still, it's hard to argue what it better because we can always say that if we try only cheapest parallel safe path we will generate fewer paths. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2017-02-28 Thread Dilip Kumar
re. They'll be in the same cache line, so it won't be much faster > than having one mutex, and the state mutex won't be acquired very > often so you won't really gain anything anyway. I think you can just > merge the mutexes into one called 'mutex'. Done. > > +

Re: [HACKERS] Parallel bitmap heap scan

2017-02-26 Thread Dilip Kumar
ease for this patch at > high worker counts. I think there is some confusion, if you notice, below code will avoid calling pbms_is_leader for every tuple. It will be called only first time. And, after that node->inited will be true and it will directly jump to start_iterate for subsequent calls. Am I missi

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-02-25 Thread Dilip Kumar
e. already in the parallel mode we don't allow to launch worker? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-25 Thread Dilip Kumar
ch status in CF app (to Needs Review) whenever > you post a new patch. I could see that your other patch also needs a > similar update in CF app. Will changes, Thanks. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com parallel_mergejoin_v7.patch Description: Binary

Re: [HACKERS] utility commands benefiting from parallel plan

2017-02-24 Thread Dilip Kumar
at it appears more specific to insert I think. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-24 Thread Dilip Kumar
ndling related to > unique outer and full joins, so it is better to mention that in the > function comments, something like "unlike above function, this > function doesn't expect to handle join types JOIN_UNIQUE_OUTER or > JOIN_FULL" and add Assert for both of those types.

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-24 Thread Dilip Kumar
which is not parallel safe) but at the cost of considering some extra paths. What is your thought on this? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.po

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-02-23 Thread Dilip Kumar
PROPARALLEL_UNSAFE); > } Ok, I see. But, the problem with PL functions is that plan might have already generated in previous execution of the function and during that time outer query might not be running in parallel. So I think we may need some check during execution time as well? -- Regar

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-02-23 Thread Dilip Kumar
On Thu, Feb 23, 2017 at 8:58 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > Few more comments. > 1.I don't see any check in the code which will prevent the parallel > execution of the query inside a function if its called from a DML > statement. > e.g. If we use a f

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-02-23 Thread Dilip Kumar
if the outer select is running in parallel, then the function called from there should not run anything in parallel? This may allow worker launching another set of workers. Am I missing something? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing

Re: [HACKERS] Enabling parallelism for queries coming from SQL or other PL functions

2017-02-22 Thread Dilip Kumar
te->readonly_func, 0); + } The last parameter of SPI_execute is tuple count, not cursorOption, you need to fix this. Also, this is crossing the 80 line boundary. --- Any specific reason for not changing SPI_execute_with_args, EXECUTE with USING will take this path. -- Regards, D

Re: [HACKERS] Parallel bitmap heap scan

2017-02-20 Thread Dilip Kumar
On Mon, Feb 20, 2017 at 11:18 PM, Robert Haas <robertmh...@gmail.com> wrote: > On Mon, Feb 20, 2017 at 5:55 AM, Thomas Munro > <thomas.mu...@enterprisedb.com> wrote: >> On Sun, Feb 19, 2017 at 9:59 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >>> So basical

Re: [HACKERS] Gather Merge

2017-02-20 Thread Dilip Kumar
t node on top of the Gather and Materialize is obviously cheaper than the Sort.) MergeJoin -> Index Scan -> Materialize -> Gather Merge (Does not support mark/restore) ->Parallel Index Scan -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pg

Re: [HACKERS] Parallel bitmap heap scan

2017-02-19 Thread Dilip Kumar
ous > iteration, which means that any allocations will also hang around. Yes right, they hang around. But, during rescan (ExecReScanBitmapHeapScan) we can free all these DSA pointers ? That mean before reallocating the DSA pointers we would have already got rid of the old ones. -- Re

Re: [HACKERS] Parallel bitmap heap scan

2017-02-19 Thread Dilip Kumar
ces the reference count to 0 > calls dsa_free on the DSA pointers for pagetable, spages, and schunks. > (Also, if a TIDBitmap is freed before iteration begins, it frees the > DSA pointer for the pagetable only; the others won't have values yet.) -- Regards, Dilip Kumar EnterpriseDB: http://www

Re: [HACKERS] Parallel bitmap heap scan

2017-02-19 Thread Dilip Kumar
On Sat, Feb 18, 2017 at 10:45 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > in 0002: > - Improved comments. > - Code refactoring in BitmapHeapNext. > - Removed local tbm creation in BitmapHeapNext : as per new tidbitmap > it's of no use. I have observed one problem w

Re: [HACKERS] Parallel bitmap heap scan

2017-02-18 Thread Dilip Kumar
to zero, the user doesn't want a parallel scan. > */ > > If we got zero? There aren't multiple limits mentioned anywhere > nearby, so this reads oddly. Removed > > +/* > + * It may be possible to amortize some of the I/O cost, but probably > +

Re: [HACKERS] Parallel bitmap heap scan

2017-02-16 Thread Dilip Kumar
put->offsets[ntuples++] = (OffsetNumber) off; > +off++; > +w >>= 1; > +} > +} > +} > > Similarly, this looks like it could be refactored into a shared static > inline function as well, instead of dupli

Re: [HACKERS] Parallel bitmap heap scan

2017-02-15 Thread Dilip Kumar
one. One solution to this could be that I keep two dsa_pointer in TBM, one point to old memory and another to new. (After this here we will get the same problem of relptr_access because now we will have first entry pointer is same as base pointer) Please provide your thought. -- Regards, D

Re: [HACKERS] Proposal : Parallel Merge Join

2017-02-14 Thread Dilip Kumar
|| + compare_path_costs(innerpath, cheapest_total_inner, + TOTAL_COST) < 0)) In this comparison, we were only checking if innerpath is cheaper than the cheapest_total_inner then generate path with this new inner path as well. Now, I have added one more check if cheapest_total_inner was not par

Re: [HACKERS] Parallel bitmap heap scan

2017-02-13 Thread Dilip Kumar
cate(pagetable_hash *pagetable, Size size) > > Function name and comments mismatch? Fixed. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 0001-tidbitmap-support-shared-v2.patch Description: Binary data 0002-parallel-bitmap-heapscan-v2.patch Description: Binary data --

Re: [HACKERS] Parallel bitmap heap scan

2017-02-13 Thread Dilip Kumar
ded from frontend code" #endif Is there any other solution to this ? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2017-02-10 Thread Dilip Kumar
ableEntry. I have implemented 2nd (in the initial versions I implemented with 1st). Note: Patch is also rebased on top of guc_parallel_index_scan_v1.patch from Parallel Index Scan thread[1] [1] https://www.postgresql.org/message-id/CAA4eK1%2BTnM4pXQbvn7OXqam%2Bk_HZqb0ROZUMxOiL6DWJYCyYow%40mail.gmail.com -

Re: [HACKERS] Parallel bitmap heap scan

2017-02-08 Thread Dilip Kumar
private_data = hashtable; > +hashtable->hashtab = tuplehash_create(tablecxt, nbuckets, hashtable); Okay, will go ahead as you suggested. Patch attached for the same. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com hash_create_fix.patch Description: Binary data -- Se

Re: [HACKERS] Parallel bitmap heap scan

2017-02-08 Thread Dilip Kumar
ctions. The solution is simplehash.h, should always declare it, and provide the definitions only if SH_USE_NONDEFAULT_ALLOCATOR is not defined. Attached patch does that. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com hash_allocate_fix.patch Description: Binary data --

Re: [HACKERS] Parallel bitmap heap scan

2017-02-08 Thread Dilip Kumar
le_hash *pagetable, Size size) { TIDBitmap *tbm = pagetable->ctx; So Is it expected to do like I explained above, or we missed to have an arg parameter to SH_CREATE as well as in SH_TYPE structure or there is some other way you have in mind? -- Regards, Dilip Kumar EnterpriseDB: http://ww

Re: [HACKERS] Parallel bitmap heap scan

2017-02-07 Thread Dilip Kumar
having a reference to the TBMIterateResult so we should not have any problem in passing this reference to the tbm_shared_iterate. I think this one looks better than what I explained above. Please suggest. > > 4. Add a new function TBMIterateResult > *tbm_shared_iterate(TBMSharedIterato

Re: [HACKERS] Parallel bitmap heap scan

2017-02-05 Thread Dilip Kumar
we should rename the functions to element_allocate, > element_free, and element_allocator_ctx, or something like that. The > current names aren't capitalized consistently with other things in > this module, and putting the word "element" in there would make it > more clear what t

Re: [HACKERS] Parallel bitmap heap scan

2017-02-01 Thread Dilip Kumar
cost anything (except that > SH_CREATE will grow a slightly longer argument sequence). > > I think maybe we should rename the functions to element_allocate, > element_free, and element_allocator_ctx, or something like that. The > current names aren't capitalized consistently with other things in > this

Re: [HACKERS] Parallel bitmap heap scan

2017-01-31 Thread Dilip Kumar
e > > > +typedef struct > +{ > + TIDBitmap *tbm; /* TIDBitmap we're iterating over */ > + int spageptr; /* next spages index */ > + int schunkptr; /* next schunks index */ > + int schunkbit; /* next bit to check in current schunk */ > + TBMIterateResult output; /* M

Re: [HACKERS] Parallel bitmap heap scan

2017-01-26 Thread Dilip Kumar
On Tue, Jan 24, 2017 at 10:18 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: > I have changed as per the comments. 0002 and 0003 are changed, 0001 is > still the same. 2 days back my colleague Rafia, reported one issue (offlist) that parallel bitmap node is not scaling as good as oth

Re: [HACKERS] multivariate statistics (v19)

2017-01-26 Thread Dilip Kumar
i; For each clause we are processing all the buckets, can't we use some data structure which can make multi-dimensions information searching faster. Something like HTree, RTree, Maybe storing histogram in these formats will be difficult? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprise

Re: [HACKERS] New SQL counter statistics view (pg_stat_sql)

2017-01-23 Thread Dilip Kumar
t;>pgstat_track_sql is true, seems it's redundant here. > > Removed the check in pgstat_count_sqlstmt statement and add it > exec_execute_message > function where the check is missed. > > Updated patch attached. Overall patch looks fine to me and marking it "ready f

Re: [HACKERS] Parallel bitmap heap scan

2017-01-23 Thread Dilip Kumar
nd the same > pointer is stored in the tb structure. And in free function freeing that > memory may cause problem. > > So either explicitly mentioning that the input must a palloc'ed data or > by default allocate memory and copy the input data into allocated > memory. I have changed

Re: [HACKERS] Parallel bitmap heap scan

2017-01-22 Thread Dilip Kumar
On Thu, Jan 19, 2017 at 12:26 AM, Robert Haas <robertmh...@gmail.com> wrote: >> Patch 0001 and 0003 required to rebase on the latest head. 0002 is >> still the same. > > I've committed the first half of 0001. Thanks. 0001 and 0003 required rebasing after this commit.

Re: [HACKERS] parallelize queries containing subplans

2017-01-19 Thread Dilip Kumar
On Thu, Jan 19, 2017 at 3:05 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > During debugging I found that subplan created for below part of the > query is parallel_unsafe, Is it a problem or there is some explanation > of why it's not parallel_safe, Okay, so basically we

Re: [HACKERS] parallelize queries containing subplans

2017-01-19 Thread Dilip Kumar
t1 WHERE a < 100 ) SELECT sum(n) FROM t); -- -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2017-01-17 Thread Dilip Kumar
On Fri, Jan 13, 2017 at 6:36 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > > Please verify with the new patch. Patch 0001 and 0003 required to rebase on the latest head. 0002 is still the same. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 0001-opt-

Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers

2017-01-16 Thread Dilip Kumar
On Wed, Jan 11, 2017 at 10:55 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: > I have reviewed the latest patch and I don't have any more comments. > So if there is no objection from other reviewers I can move it to > "Ready For Committer"? Seeing no objections,

Re: [HACKERS] New SQL counter statistics view (pg_stat_sql)

2017-01-13 Thread Dilip Kumar
On Wed, Jan 11, 2017 at 7:47 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > +void > +pgstat_count_sqlstmt(const char *commandTag) > +{ > + PgStat_SqlstmtEntry *htabent; > + bool found; > + > + if (!pgstat_track_sql) > + return > > Callers of pgst

Re: [HACKERS] parallelize queries containing subplans

2017-01-13 Thread Dilip Kumar
did not find '}' at end of input node at character 762 -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com select subq_2.c1 as c0, 25 as c1 from (select pg_catalog.random() as c0, 31 as c1, ref_3.

Re: [HACKERS] Parallel bitmap heap scan

2017-01-13 Thread Dilip Kumar
On Thu, Jan 12, 2017 at 5:47 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> Hello Dilip, >> I was trying to test the performance of all the parallel query related >> patches on TPC-H queries, I found that when parallel hash [1 ]and your >> patch are applied then Q1

Re: [HACKERS] Parallel bitmap heap scan

2017-01-12 Thread Dilip Kumar
nd Q14 were hanged, however, without any > one of these patches, these queries are running fine. Following is the > stack trace, Thanks for reporting, I will look into this. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers

Re: [HACKERS] parallelize queries containing subplans

2017-01-11 Thread Dilip Kumar
ah, the reason is to avoid unnecessary recursion. Also, in all > other places in the code, we do handle both of them separately, refer > cost_qual_eval_walker for somewhat similar usage. ok. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers maili

Re: [HACKERS] New SQL counter statistics view (pg_stat_sql)

2017-01-11 Thread Dilip Kumar
_sqlstmt are always ensuring that pgstat_track_sql is true, seems it's redundant here. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers

2017-01-10 Thread Dilip Kumar
28167 28057 64 26655 28712 128 20152 24917 256 16740 22891 Sync_Commit_On: Client Head Patch 8 5102 5110 16 8087 8282 32 12523 12548 64 14701 15112 128 14656 15238 256 13421 164

Re: [HACKERS] Parallel bitmap heap scan

2017-01-10 Thread Dilip Kumar
;= '1995-01-01'::date) AND (lineitem.l_shipdate <= '1996-03-31'::date)) Planning time: 2.742 ms Execution time: 15509.696 ms (21 rows) -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 0001-opt-parallelcost-refactoring-v9.patch Description: Binary data 0002-hash-support-

Re: [HACKERS] parallelize queries containing subplans

2017-01-09 Thread Dilip Kumar
ernativeSubPlan here unless there is some strong reason? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2017-01-09 Thread Dilip Kumar
0002. I have also observed another issue related to code refactoring, Actually, there was some code present in 0001 which supposed to be in 0003. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 0001-opt-parallelcost-refactoring-v8.patch Description: Binary data 0002-hash-s

Re: [HACKERS] Parallel bitmap heap scan

2017-01-09 Thread Dilip Kumar
ong with my patch? Did you properly clean the code? I have asked one of my colleague to verify this and the result is same, No crash. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2017-01-08 Thread Dilip Kumar
re my suggested changes in the algorithm comments : > > @@ -103,27 +103,27 @@ BitmapHeapNext(BitmapHeapScanState *node) Changed. Apart from these changes, I have created a separate patch(0001-opt-parallelcost-refactoring-v7.patch) for code refactoring in optimizer required for parallelbitmap hea

Re: [HACKERS] Proposal : Parallel Merge Join

2017-01-04 Thread Dilip Kumar
> + extra); > + > + /* Generate partial path if inner is parallel safe. */ > + else if (inner_cheapest_total->parallel_safe) > + try_partial_mergejoin_path(root, > + joinrel, > + outerpath, > + inner_cheapest_total, > + merge_pathkeys, > + mergeclauses, > + NIL, > + innersortkeys, > + jointype, > + extra); > > In above code indentation is broken, similarly, there is another code > in a patch where it is broken, try using pgindent. Fixed with pgindent. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com parallel_mergejoin_v4.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] UNDO and in-place update

2017-01-04 Thread Dilip Kumar
we no longer needed UNDO for the heap page (e.g because of rollback) then we can apply the UNDO and remove it. I agree that there will be multiple index entries will be pointing to this tuple, but only one of them can pass the key revalidation with the heap. isn't it? -- Regards, Dilip

Re: [HACKERS] multivariate statistics (v19)

2017-01-04 Thread Dilip Kumar
746 rows=100 loops=1) Planning time: 0.308 ms Execution time: 1001.889 ms In above example, Without MVStat-> estimated: 10 Actual: 186607 With MVStat-> estimated: 163046 Actual: 186607 -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hacke

Re: [HACKERS] Parallel bitmap heap scan

2017-01-03 Thread Dilip Kumar
On Mon, Dec 26, 2016 at 3:14 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > Other the another option is, that we can always make caller to provide > an allocator. But this way every new user for simple hash need to take > care of having allocator. > > What is your opinion?

Re: [HACKERS] multivariate statistics (v19)

2017-01-03 Thread Dilip Kumar
hould be easily reproducible, in case it's not I can send call stack or core dump. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers

2016-12-28 Thread Dilip Kumar
any call to PGSemaphoreUnlock. Am I missing something? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-28 Thread Dilip Kumar
to make parallel plans > more likely. You can also try with reducing random_page_cost (that will help parallel merge join with index scan), in case your data fits in memory and you are ensuring warm cache environment. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Se

Re: [HACKERS] Parallel bitmap heap scan

2016-12-26 Thread Dilip Kumar
st > using an allocator in shared memory does *NOT* allow the hash table to be > used in shared memory in the general case. Make sense. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-21 Thread Dilip Kumar
y OK to me > on a first read-through. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com parallel_mergejoin_v3.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Parallel bitmap heap scan

2016-12-20 Thread Dilip Kumar
Rebased on the current head. On Tue, Dec 13, 2016 at 12:06 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > On Sat, Dec 10, 2016 at 5:36 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: >> Few assorted comments: > > Thanks for the review > >> >> 1.

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-20 Thread Dilip Kumar
On Tue, Dec 13, 2016 at 8:34 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > I have created two patches as per the suggestion. > > 1. mergejoin_refactoring_v2.patch --> Move functionality of > considering various merge join path into new function. > 2. parallel_mergejo

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-13 Thread Dilip Kumar
On Tue, Dec 13, 2016 at 6:42 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> This patch is hard to read because it is reorganizing a bunch of code >> as well as adding new functionality. Perhaps you could separate it >> into two patches, one with the refact

Re: [HACKERS] Parallel bitmap heap scan

2016-12-12 Thread Dilip Kumar
e places in above line. It should be > written as below: > > dsa_entry = (void *)(((char *) dsa_entry) + sizeof(dsa_pointer)); Fixed.. > > Similar stuff needs to be taken care at other places in the patch as > well. I think it will be better if you run pgindent on your patch. I

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-12 Thread Dilip Kumar
ting various merge join path) to new function called generate_mergejoin_path. And, use it for normal outer path as well as for partial outer path. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To mak

Re: [HACKERS] WIP: Faster Expression Processing and Tuple Deforming (including JIT)

2016-12-11 Thread Dilip Kumar
bhYf%2B1gumpvW5bo_fpeNUy%2BrL-kg%40mail.gmail.com -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Proposal : Parallel Merge Join

2016-12-10 Thread Dilip Kumar
n value of this patch is that we can parallelize multi level join query, where parallelism is not used becuase of merge join at some level. [1] https://www.postgresql.org/message-id/CAA4eK1KA4LwTYXZG%3Dk3J2bA%2BZOEYnz2gkyWBKgY%3D_q0xJRBMDw%40mail.gmail.com -- Regards, Dilip Kumar EnterpriseDB

[HACKERS] Proposal : Parallel Merge Join

2016-12-10 Thread Dilip Kumar
n analyze output with patch (median of 3 runs) -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com 20_head.out Description: Binary data 20_patch.out Description: Binary data parallel_mergejoin_v1.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hack

Re: [HACKERS] Proposal: scan key push down to heap [WIP]

2016-12-03 Thread Dilip Kumar
ted as a scankey, that'd be > easy. Isn't it better to directly make two separate lists during planning itself, one for regular qual and other which can be converted to scankey. Instead of keeping the flag in OpExpr ? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com -- Sent

Re: [HACKERS] Proposal: scan key push down to heap [WIP]

2016-11-30 Thread Dilip Kumar
On Tue, Nov 29, 2016 at 11:21 PM, Robert Haas <robertmh...@gmail.com> wrote: > On Mon, Nov 28, 2016 at 11:17 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> Actually we want to call slot_getattr instead heap_getattr, because of >> problem mentioned by Andres upthr

Re: [HACKERS] Parallel bitmap heap scan

2016-11-29 Thread Dilip Kumar
On Fri, Nov 25, 2016 at 6:55 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: > I have changed the design to directly make it based on DSA instead of using > DHT. > In new version we no longer use DHT. Instead, of that I have made some > change in simplehash[1], so that it

Re: [HACKERS] Proposal: scan key push down to heap [WIP]

2016-11-28 Thread Dilip Kumar
placed by an actual new structure definition. > Okay. > - get_scankey_from_qual()'s prohibition on variable-width columns is > presumably no longer necessary with this approach, right? Correct. > > - Anything tested in SeqNext() will also need to be retested in > SeqRecheck()

<    1   2   3   4   5   >