Forum: Building VoltDB Applications

Post: Mispartitioned Tuple in single-partition plan

Mispartitioned Tuple in single-partition plan
qianxt
Oct 24, 2013
Dear all,

I add two nodes to my voltdb cluster , but when i restart my voltdb server , i got an "Mispartitioned Tuple in single-partition plan" error.
Then i find the voltdb server has been started success.

Can you explain the meaning of this error?
And if it has any impact on our voltdb server?

Thanks for Your help

Logs:

Initializing VoltDB...

_ __ ____ ____ ____
| | / /___ / / /_/ __ \/ __ )
| | / / __ \/ / __/ / / / __ |
| |/ / /_/ / / /_/ /_/ / /_/ /
|___/\____/_/\__/_____/_____/

--------------------------------

Build: 2.8.2 voltdb-2.8.2-0-ge52ddfa-local Community Edition
Connecting to the VoltDB cluster leader /10.181.170.140:3021
WARN: Joining primary failed: Connection refused retrying..
WARN: Joining primary failed: Connection refused retrying..
6 Notified of host 0
6 Notified of host 1
6 Notified of host 2
6 Notified of host 3
6 Notified of host 4
6 Notified of host 5
6 notified of 7
6 notified of 8
Initializing initiator ID: 6, SiteID: 6:9
WARN: Running without redundancy (k=0) is not recommended for production use.
Server completed initialization.
[ERROR] [../../src/ee/executors/insertexecutor.cpp:167:p_execute()] 2013-10-23 18:59:01 - Mispartitioned Tuple in single-partition plan.
[ERROR] [../../src/ee/executors/insertexecutor.cpp:167:p_execute()] 2013-10-23 18:59:01 - Mispartitioned Tuple in single-partition plan.
[ERROR] [../../src/ee/executors/insertexecutor.cpp:167:p_execute()] 2013-10-23 18:59:01 - Mispartitioned Tuple in single-partition plan.
[ERROR] [../../src/ee/executors/insertexecutor.cpp:167:p_execute()] 2013-10-23 18:59:01 - Mispartitioned Tuple in single-partition plan.
nshi
Oct 24, 2013
Hi,

The error indicates that you may have a procedure trying to insert a row that does not belong to the given partition. This could happen when you use one value as the partitioning parameter when you invoke the procedure, but use a different value in the partitioning column when you insert a row in the same procedure. You can check if there is an error in specifying the partitioning parameter for the procedure.

It will not affect any existing data on the server. The procedure will be aborted with an error message sent back to the client.