On 20 January 2015 at 15:47, Job Snijders <[email protected]> wrote:

> On Tue, Jan 20, 2015 at 03:35:40PM -0200, George Michaelson wrote:
> > Yes, thats exactly the kind of thing I am talking about, and I welcome
> > your initiative, and I think its good its exposed here so routing-wg
> > people can reflect on it. Clearly, its not only a DB-WG question!
>
> Sorry, that was not clear to me. :-)
>

I have a strong personal sense that the DB-WG group has interest, but so do
the people who are seeking to steer routing and understand where permission
to route vests from, and thats as much a routing-wg group issue as a DB-WG
issue. Its just my opinion mind you.


>
> > The other part of the story is a concern I have heard stated in DB-WG
> > that 'referential integrity' is very hard to maintain in a database
> > when it refers to external objects, which may cease to exist
> > asynchronously because the constraint cannot be maintained between
> > disparate independent sources.
> > I think that problem is a general problem, and cannot be fixed. I
> > worry, that this may be a 'blocker' for some people.
>
> I don't know what you mean with the above paragraph. Can you maybe
> provide an example to illustrate the issue?
>

Sure. Say I make an object which implicitly refers to an ASN held in
another place. So some line eg in a route: object magically referred to a
hypothetical external reference APNIC::AS1 in the place where it would
refer to an aut-num or as-set named object.

In the RIPE DB, referential integrity is maintained so if you try to delete
AS1, and its referred to in a key dependent way by any object, you can't
delete it: there is a reference. Referential integrity is maintained by the
Database constraints. This is what Wilfred went to some lengths to explain
to me. So you can't delete a maintainer while objects remain which are
maintained by the maintainer. You can't make a new person object and a new
maintainer at the same time simultaneously 'without magic in the back'
because the referential constraints are not met during the creation cycle,
so the RIPE DB has special logic to cope. and so on.

Now, consider APNIC::AS1. Its external. It has no back-reference to objects
in source=RIPE which refer to it. How can it? there is no clear definition
for an external reference for source=APNIC held at APNIC to know, its been
included in an object in the RIPE DB (I can imagine heuristics to know, but
not a low level method which is a constraint)

So, I can delete it, any time I like, if nothing inside source=APNIC refers
to it: there is no referential integrity break. But I then make the object
at source=RIPE illegal, because the (hypothetical) external reference can't
be met.

This is what I believe worries the DB architects behind single-source whois
models, and why they elected to permit the creation of AS1 inside the DB,
rather than have to refer to it as an external reference: You cannot
enforce the constraints and you can wind up having loss of information
because things get deleted.


> > But, I think the "win" in permitting APNIC::named-object references
> > inside RIPE and vice-versa is very big.
>
> Currently I prefer to just flatten the namespace for relevant
> cross-registry objects, like aut-num, inetnum, route, route6, inet6num,
> mntner. This will provide us with tons of benefits without need to
> upgrade any tools.
>

How do you manage this? What enforces it?


>
> Example: IANA handed down the block which contains AS15562 to RIPE, RIPE
> assigned it to me. It should not exist in the APNIC database (or any
> other IRR), not even as APNIC::AS15562. Same goes for IP space.
>

Well I believe that to, but thats not what we currently have.


>
> However I don't feel religious about this direction and look forward to
> discussion.
>
> Maybe we should organise a "cross-registry authentication" BOF at the
> next RIPE meeting where RIPE, APNIC & AFRINIC staff + stakeholders from
> db-wg & routing-wg?
>

I think thats a very good suggestion which I would love the routing-WG and
the BoF organizing people to consider on its merits. I think it would end a
certain amount of 'problem bouncing' between the various WG and would
permit people from the JP IRR community who often come to RIPE meetings to
perhaps have a voice.

cheers

-George


>
> Kind regards,
>
> Job
>
>

Reply via email to