Best Of
Re: How does BOARD handle concurrent execution of procedures?
Hello Bob,
The Board server handles the concurrency at procedure step level, not at procedure level.
So if you want to handle concurrency at procedure level you can do this as Daniel Zillmann suggested.
By default board handles concurrency at procedure step level.
There are several write actions you can do on the server via procedure:
Dataflow
Datareader
Cube clear
Cube align
Normalize
While a datareader is running other users cannot perform write actions, so they will be queued.
If we run dataflows on the same portion of data the last one that is triggered will overwrite previous changes.
if we run dataflows on separate portions of the same cube, dataflows can run in parallel.
Dataflows never lock other write actions, so dataentry clear cube (use current selection) will run.
fi two users are running the same procedure in parallel on different slices of data and you are not using datareader or clear cube (without use current selection) you should not have problems.
We are restyling concurrency to improve it, many news are coming on this topic!
To summarize:
Board server always runs procedures in parallel, then the single procedure step may wait for a lock to be unlocked (like a datareader running) or start in parallel
If you want a procedure to be exclusive for the db so that when that's running nobody else can modify the db, you can use the procedure steps "Db exclusive lock/unlock". If you do not want to lock the full db but have a custom queue on a procedure feel free to use Daniel Zillmann's idea.
To come back to your original question, both the capsule log and the db log will show you the sequence of actions on the server and the user, so you will see who ran the step first.
Re: "The given key was not present in the dictionary" error
Hi Ricard,
i have experienced myself this error once, and it was related to some changes i had applied to the database not being retained or saved correctly.
This happened in our development environment and we managed to resolve it by identifying (from the database logs) that some changes (an entity had been deleted) had been applied to the database.
This specific entity was used in multiple dynamic selections in screens, so we restored a previously taken backup and all has been resolved.
I found very useful going through the Deleting Entity Elements article as well because it also helped me understand the impacts of entity deletion.
Hope this helps
Regards
Re: "The given key was not present in the dictionary" error
Hello Ricard,
i have also once experienced this error message and i resolved it by checking all the relationships as there were some elements of hierarchies which were not related to others and hierarchies were therefore "missing relationships".
I have normalized all trees, checked for missing relationships, corrected any missing link and resolved the item.
I have also found Troubleshoot: effect of missing relationships very interesting because it helped me preventing this in the future.
Hope this helped you
Re: Disable Web Client Menu Options
Thanks Michele
i have just tried it, it works fine.
There are also other parameters in the WebApi server config >> "appsettings.config"
Do you know what these are for?
Regards
Re: Dataflow resulting in small digit differences
Thank you Antonio.
We've done some research and agree that this is a widespread problem that also affects Microsoft Excel.
Microsoft Knowledgebase Article
This link to Microsoft Support site explains the issue as follows:
"The IEEE 754 standard is a method of storing floating-point numbers in a compact way that is easy to manipulate. This standard is used by Intel coprocessors and most PC-based programs that implement floating-point math.
IEEE 754 specifies that numbers be stored in binary format to reduce storage requirements and allow the built-in binary arithmetic instructions that are available on all microprocessors to process the data in a relatively rapid fashion. However, some numbers that are simple, nonrepeating decimal numbers are converted into repeating binary numbers that cannot be stored with perfect accuracy.
For example, the number 1/10 can be represented in a decimal number system with a simple decimal:
.1
However, the same number in binary format becomes the repeating binary decimal:
.0001100011000111000111 (and so on)
This number cannot be represented in a finite amount of space. Therefore, this number is rounded down by approximately -2.78E-17 when it is stored.
If several arithmetic operations are performed to obtain a given result, these rounding errors may be cumulative."
Thanks
Re: Difference between algorithm and Dataflow
Hi Antonio,
I understand better now. Does this change if i apply a different TOTAL option in the layout block?

Is this a feature that might resolve the behavior?
Thanks
Re: All masks disappeared!!
i have found the duplicated Mask and removed it.
It is all working correctly now.Will remember this next time
Cheers,
Re: Cannot Run Requested Analysis: error
Thanks Michele
i have changed the Row Upper limit and now the report is displaying correctly.
That was very helpful