Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client Affinity #54

Open
wants to merge 65 commits into
base: master
Choose a base branch
from
Open

Client Affinity #54

wants to merge 65 commits into from

Conversation

gernest
Copy link
Contributor

@gernest gernest commented Jun 19, 2018

Depends on #53

The struct was not necessary, it only wraps procedureInvocation without
adding any new functionality. It is much better just working with
procedureInvocation directy
remove unencessary drain channels
-  move  response processing to one goroutine
- rework draining code
* master:
  Update voltkv benchmark
- fix request cancelation
- apply timeouts to @statistics,@SystemCatalog queries
- add the wuery string to the timeout error mesage
@gernest
Copy link
Contributor Author

gernest commented Jun 21, 2018

var rst = map[string]voltdbclient.procedure{
	"VOTES.insert":            {SinglePartition: true, ReadOnly: false, PartitionParameter: 0, PartitionParameterType: 6},
	"AREA_CODE_STATE.delete":  {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"CONTESTANTS.delete":      {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"CONTESTANTS.insert":      {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"Initialize":              {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"AREA_CODE_STATE.upsert":  {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"CONTESTANTS.upsert":      {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"GetStateHeatmap":         {SinglePartition: false, ReadOnly: true, PartitionParameter: -1, PartitionParameterType: -1},
	"Vote":                    {SinglePartition: true, ReadOnly: false, PartitionParameter: 0, PartitionParameterType: 6},
	"CONTESTANTS.update":      {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"ContestantWinningStates": {SinglePartition: false, ReadOnly: true, PartitionParameter: -1, PartitionParameterType: -1},
	"Results":                 {SinglePartition: false, ReadOnly: true, PartitionParameter: -1, PartitionParameterType: -1},
	"AREA_CODE_STATE.insert":  {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
	"AREA_CODE_STATE.update":  {SinglePartition: false, ReadOnly: false, PartitionParameter: -1, PartitionParameterType: -1},
}

@gernest gernest changed the title [W.I.P] Client Affinity Client Affinity Jun 24, 2018
@gernest
Copy link
Contributor Author

gernest commented Jun 26, 2018

TIMESTAMP      HOST_ID  HOSTNAME  SITE_ID  PARTITION_ID  PROCEDURE                       INVOCATIONS  TIMED_INVOCATIONS  MIN_EXECUTION_TIME  MAX_EXECUTION_TIME  AVG_EXECUTION_TIME  MIN_RESULT_SIZE  MAX_RESULT_SIZE  AVG_RESULT_SIZE  MIN_PARAMETER_SET_SIZE  MAX_PARAMETER_SET_SIZE  AVG_PARAMETER_SET_SIZE  ABORTS  FAILURES  TRANSACTIONAL 
-------------- -------- --------- -------- ------------- ------------------------------- ------------ ------------------ ------------------- ------------------- ------------------- ---------------- ---------------- ---------------- ----------------------- ----------------------- ----------------------- ------- --------- --------------
 1530009449115        0 mj               0             2 add_customer                               1                  1             1291353             1291353             1291353               47               47               47                      28                      28                      28       0         0              1
 1530009449115        0 mj               4         16383 org.voltdb.sysprocs.AdHoc_RO_MP            1                  1             6477318             6477318             6477318               84               84               84                    1124                    1124                    1124       0         0              1
 1530009449116        1 mj               2             2 add_customer                               1                  1             1412395             1412395             1412395               47               47               47                      28                      28                      28       0         0              1

(Returned 3 rows in 0.00s)

- add more debugging info
- test against topology, no need to query voltdb for procedure stats
- don't sort the affinity logs in test
- pass more meaningful parameters to selectedNode callback
Check if the host_id of the nodes are in the initiator table.
The refrence java code uses >>> which go doesnt have, we are using >> which will zero
fill when the value is unsigned, by using signed int we are now having
similar results to java.
- remove unecessary type cast
- rely on AFFINITY_SERVERS to pickup  cluster server
- don't generate a topology file
-  remove hashinator tests, these are already covered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant