[Monetdb-developers] MonetDB: default - Include debugging

Stefan Manegold Stefan.Manegold at cwi.nl
Sun Jul 15 15:26:00 CEST 2012


In the light of :oid- or even dense-headed BATs (and eventually COLs),
what is the reason to only check/assert head properties (trivial once dense),
but not tail properties?

Stefan

----- Original Message -----
> Changeset: f96a7db93e54 for MonetDB
> URL:
> http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f96a7db93e54
> Modified Files:
> 	monetdb5/mal/mal_dataflow.c
> 	monetdb5/mal/mal_interpreter.c
> Branch: default
> Log Message:
> 
> Include debugging
> We have to trace for illegal property settings. It is an expensive
> test, that may isolate a few deeply hidden errors.
> 
> Moreover, initialize the cpu affinity
> 
> 
> diffs (61 lines):
> 
> diff --git a/monetdb5/mal/mal_dataflow.c
> b/monetdb5/mal/mal_dataflow.c
> --- a/monetdb5/mal/mal_dataflow.c
> +++ b/monetdb5/mal/mal_dataflow.c
> @@ -614,6 +614,16 @@ DFLOWstep(FlowTask *t, FlowStatus fs)
>  					if (isaBatType(getArgType(mb, pci, i))) {
>  						bat bid = stk->stk[a].val.bval;
>  
> +#ifndef NDEBUG
> +#if 0	/* when needed, enable */
> +						if (i < pci->retc  && bid){
> +							BAT *b = BATdescriptor(bid);
> +							BATassertHeadProps(b);
> +							BBPunfix(b->batCacheid);
> +						}
> +#endif
> +#endif
> +						/* Check output properties */
>  						/* update the bigfoot information only if we need to gc */
>  						if (cntxt->flags & bigfootFlag)
>  							updateBigFoot(cntxt, bid, TRUE);
> @@ -811,8 +821,12 @@ runDFLOWworker(void *t)
>  	Thread thr;
>  	int i, local = 0, last = 0;
>  	long usec=0;
> +	//int cpu;
>  
>  	thr = THRnew(MT_getpid(), "DFLOWworker");
> +
> +	//cpu = MT_set_affinity(task->id);
> +
>  	GDKsetbuf(GDKmalloc(GDKMAXERRLEN));	/* where to leave errors */
>  	GDKerrbuf[0] = 0;
>  	while (task) {
> @@ -915,6 +929,7 @@ runDFLOWworker(void *t)
>  	}
>  	GDKfree(GDKerrbuf);
>  	GDKsetbuf(0);
> +	//MT_unset_affinity(cpu);
>  	THRdel(thr);
>  }
>  
> diff --git a/monetdb5/mal/mal_interpreter.c
> b/monetdb5/mal/mal_interpreter.c
> --- a/monetdb5/mal/mal_interpreter.c
> +++ b/monetdb5/mal/mal_interpreter.c
> @@ -856,6 +856,16 @@ str runMALsequence(Client cntxt, MalBlkP
>  						if (isaBatType(getArgType(mb, pci, i))) {
>  							bat bid = stk->stk[a].val.bval;
>  
> +#ifndef NDEBUG
> +#if 0	/* when needed, enable */
> +							if (i < pci->retc  && bid){
> +								BAT *b = BATdescriptor(bid);
> +								BATassertHeadProps(b);
> +								BBPunfix(b->batCacheid);
> +							}
> +#endif
> +#endif
> +
>  							/* update the bigfoot information only if we need to gc */
>  							if (cntxt->flags & bigfootFlag)
>  								updateBigFoot(cntxt, bid, TRUE);
> _______________________________________________
> Checkin-list mailing list
> Checkin-list at monetdb.org
> http://mail.monetdb.org/mailman/listinfo/checkin-list
> 




More information about the developers-list mailing list