-
Notifications
You must be signed in to change notification settings - Fork 154
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
In-Memory Server #116
In-Memory Server #116
Commits on Jun 7, 2021
-
ovsdb: Add Evaluate function to Conditions
This allows for a Condition to be evaluated based on two supplied values. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 871e9cf - Browse repository at this point
Copy the full SHA 871e9cfView commit details -
ovsdb: Fix Mutation and Condition Marshalling
The unmarshal methods didn't use pointer receivers Go case statements don't fallthrough While scalar values are easily type asserted when marshalled to an interface{} the same is not true for map, set and uuid types. We need to use reflect to determine the OVSDB type before storing as an interface{} value. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc3d5e8 - Browse repository at this point
Copy the full SHA bc3d5e8View commit details -
This was incorrectly disallowing mutations where a single string would be inserted in to a []string... or int, real etc... Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2b8dadd - Browse repository at this point
Copy the full SHA 2b8daddView commit details -
ovsdb: Fix typo in MutationSubtract
Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2e56979 - Browse repository at this point
Copy the full SHA 2e56979View commit details -
ovsdb: Add String function for Condition
Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 068eb2b - Browse repository at this point
Copy the full SHA 068eb2bView commit details -
cache: Add Row Create, Update, Delete operations
And rename Set to Create. This allows for a caller to Add/Update/Delete cached rows with the appropriate locking. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bafcd54 - Browse repository at this point
Copy the full SHA bafcd54View commit details -
mapper: Add _uuid when calling NewRow
To make this work, we add NamedUUID detection. A named UUID is considered a default value as it's yet to have been processed by the server. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbcbf5a - Browse repository at this point
Copy the full SHA bbcbf5aView commit details -
This adds an initial in-memory server implementation. It implements enough of the spec to be used for testing. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c51ffcb - Browse repository at this point
Copy the full SHA c51ffcbView commit details
Commits on Jun 8, 2021
-
This commit make a few changes to the cache. 1. Deprecates the TableCache.Set API, instead only allowing data to be provided in a call to NewTableCache 2. Disallow RowCache creation via API and instead init the cache based on the contents of the provided schema. This removes having calling code check for table existence 3. Rename Row.Set to Row.Create and provide an additionally check the type of the provided Model matches the schema 4. Cache row indexes for increased lookup speed Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a99de20 - Browse repository at this point
Copy the full SHA a99de20View commit details -
server: Let cache handle index checking
Since the TableCache already does this, we don't need to implement checks. Just check for errors on cache operations Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 678beab - Browse repository at this point
Copy the full SHA 678beabView commit details -
server: Use index-based lookups for conditions
Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3aaeb1 - Browse repository at this point
Copy the full SHA e3aaeb1View commit details -
stress: Add support for multiple clients
1. Rename ninserts to inserts 2. Adds support for multiple clients in series/parallel 3. Ensures that we wait for the event to be received in cache Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ef78bf2 - Browse repository at this point
Copy the full SHA ef78bf2View commit details -
server: Don't use buffered channels
This ensures minimal delay between sending a transact response and the update notification being sent via monitor Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 927c073 - Browse repository at this point
Copy the full SHA 927c073View commit details -
This removes the lock on TableCache and instead achieves the same result by locking all of the RowCaches. This is possible because the map in the TableCache doesn't change after creation, only the contents of the RowCache. Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1afe91c - Browse repository at this point
Copy the full SHA 1afe91cView commit details -
server: Lock cache for transaction processing
Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c8481d3 - Browse repository at this point
Copy the full SHA c8481d3View commit details
Commits on Jun 9, 2021
-
server: Ensure mutate operations write back to db
Signed-off-by: Dave Tucker <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0d7102e - Browse repository at this point
Copy the full SHA 0d7102eView commit details