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

support structured values #6

Closed
samoht opened this issue Nov 21, 2013 · 6 comments
Closed

support structured values #6

samoht opened this issue Nov 21, 2013 · 6 comments
Labels
type/feature Introduce a new feature

Comments

@samoht
Copy link
Member

samoht commented Nov 21, 2013

Currently the values are raw blobs. It could be interesting to easily support more structured values. The only "interesting" idea here is that a structured value can also contains keys, which can be understood by Irminsule when it computes the export set.

Ideally this structure should be quite easy to define for the user (for instance, using a schema stored somewhere in the database).

@avsm
Copy link
Member

avsm commented Nov 21, 2013

/cc @djs55 -- we were just chatting about this in xenstore too

@samoht
Copy link
Member Author

samoht commented Nov 22, 2013

In xenstore, you don't really have internal keys so why do you need to understand the structure of the value ? To properly handle transaction conflicts maybe ?

@djs55
Copy link
Member

djs55 commented Nov 22, 2013

I was thinking of xenstore extensions mainly. I was thinking that xenstore
was designed for configuration and rendezvous, but performed so badly that
people started putting their configuration somewhere else (eg xapi db).
Now, of course, the oxenstored implementation is much better so perhaps we
should store the data in xenstore. Further, people (like me and you) have
worked on rpc systems which are also critical for a secure XenServer. Since
xenstore is already in the right place (a special domain) and is already
critical, and had ACLs etc, perhaps we should extend it to have message
queues as well as string values at the tree leaves.

What do you think?

Sent from my iPhone

On 22 Nov 2013, at 00:26, Thomas Gazagnaire notifications@github.com
wrote:

In xenstore, you don't really have internal keys so why do you need to
understand the structure of the value ? To properly handle transaction
conflicts maybe ?


Reply to this email directly or view it on
GitHubhttps://github.com//issues/6#issuecomment-29038756
.

@samoht
Copy link
Member Author

samoht commented Nov 22, 2013

You're right about the ACLs, it's a pain to get it right so it's better to build on top of the existing if possible. Support for message queues in tree leaves would indeed be nice. Interestingly enough, irminsule-0 was dealing only with single queues and irminsule-0.1 deals with a tree of strings -- so dealing with queues in leafs would make a good use case as well.

To come back to the original issue, my idea was to refer to previous snapshots in the values (for instance if you want to build an index of values at a given point in time) -- but that does not have much sense in xenstore as you can't snapshot anyway.

@samoht
Copy link
Member Author

samoht commented Nov 22, 2013

Do you plan to change the xenbus API then ?

@djs55
Copy link
Member

djs55 commented Nov 22, 2013

Re: the xenbus API: bear in mind this is all a coffee-fuelled idea from
yesterday. I was thinking we could support multiple APIs: the traditional
xenbus API isn't going anywhere since it's baked-into OS kernel drivers. We
could add another API over (eg) vchan or v4v. Perhaps you connect to
xenstore and then read

/tools/xenstore/features/irminsule-is-magic = 1

and then connect over vchan?

On Fri, Nov 22, 2013 at 9:37 AM, Thomas Gazagnaire <notifications@github.com

wrote:

Do you plan to change the xenbus API then ?


Reply to this email directly or view it on GitHubhttps://github.com//issues/6#issuecomment-29060142
.

Dave Scott

@samoht samoht closed this as completed Apr 21, 2014
craigfe referenced this issue in craigfe/irmin Jan 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature Introduce a new feature
Projects
None yet
Development

No branches or pull requests

3 participants