You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to port your Adaptive Radix Trie to my little database project (https://github.com/sirixdb/sirix) and make it a persistent datastructure + write it to and read it from disk :-)
Currently some tests fail, as attached because of missing default constructors. I have to admit it's not obvious to me how they can be run at all.
Another thing is that the system needs fine granular, fast, random reads to read the variable sized nodes (so, hopefully Optane Memory will be the thing). Furthermore the leaf nodes of the trie can be versioned (storing from the parent node/page a bunch of references to retrieve partial nodes or page-fragments in the SirixDB terminology. I maybe will try to store them within the last InnerNode and version the InnerNodes which then have embedded leaf nodes.This way, only changed records will be stored + some records which are outside of a sliding window (so, if only one value, that is record has been added, it will only store this one and fetch others from previous revisions).
I'm also in contact with Robert Binna for a HOT version, but I think I won't have that much time to start completely from scratch and I'm not really familiar with C++, so reading his Open Source version is not easy for me.
Kind regards and thanks for the great work.
Have a great weekend
Johannes
The text was updated successfully, but these errors were encountered:
Hi @JohannesLichtenberger, your project sounds interesting! I have some questions but I'll ask them later after learning more about your project.
The tests you mentioned are not to be run directly. They are used as base classes for other JUnit3 style tests present in com.github.rohansuri.art.acc (acc = Apache Commons Collections). For example the ARTStringTest that inherits AbstractNavigableMapTest. I will package them better to separate JUnit4 tests from JUnit3 tests. Both style of tests exist in the project because I inherited some of them from ACC which are in JUnit3 style.
The error message correctly complains:
junit.framework.AssertionFailedError: Class com.github.rohansuri.art.NavigableKeySetStringTest has no public constructor TestCase(String name) or TestCase()
which is a requirement for JUnit3 style tests. All the tests in *.acc have the required ctor and those can be directly run.
For some reason, the command gradle test testJUnit4 seems to correctly classify them and not run them as a top level test. I'd suggest you use gradle for the time being.
Sadly it's going to be executed with JUnit 4 with gradle test or gradlew clean build --info --stacktrace --refresh-dependencies. Thanks for your interest in the project, that's great :-)
Hi,
I want to port your Adaptive Radix Trie to my little database project (https://github.com/sirixdb/sirix) and make it a persistent datastructure + write it to and read it from disk :-)
Currently some tests fail, as attached because of missing default constructors. I have to admit it's not obvious to me how they can be run at all.
Another thing is that the system needs fine granular, fast, random reads to read the variable sized nodes (so, hopefully Optane Memory will be the thing). Furthermore the leaf nodes of the trie can be versioned (storing from the parent node/page a bunch of references to retrieve partial nodes or page-fragments in the SirixDB terminology. I maybe will try to store them within the last InnerNode and version the InnerNodes which then have embedded leaf nodes.This way, only changed records will be stored + some records which are outside of a sliding window (so, if only one value, that is record has been added, it will only store this one and fetch others from previous revisions).
I'm also in contact with Robert Binna for a HOT version, but I think I won't have that much time to start completely from scratch and I'm not really familiar with C++, so reading his Open Source version is not easy for me.
Kind regards and thanks for the great work.
Have a great weekend
Johannes
The text was updated successfully, but these errors were encountered: