Status

Current state["Under Discussion"]

Discussion thread: [link]

JIRA Unable to render Jira issues macro, execution error.

Released: 0.5.0

Motivation

Currently a DL namespace is a flat namespace that doesn't accept filesystem path like stream name. So when more and more logs are created under a same namespace, it will quickly blow up the namespace.

In order to get rid of this limitation, we need to support a more generic filesystem-like namespace and be able to migrate the existing system to use the new namespace. This is where symlinked log is introduced. The idea behind symlinked log is to create references to the original log without changing and affecting existing logs when migrating from one namespace to the other namespace. 

Public Interfaces

Added one new API in DistributedLogNamespace

createSymlink(URI targetLogUri, String linkName, boolean createParent)


Proposed Changes

  • Change to accept filesystem path-like log name. ( Unable to render Jira issues macro, execution error. )
  • Extend the log metadata to support symlink. ( Unable to render Jira issues macro, execution error. )
  • Create a symlink log. ( Unable to render Jira issues macro, execution error. )
  • Tool to clone a namespace as symlinked logs. ( Unable to render Jira issues macro, execution error. )

Compatibility, Deprecation, and Migration Plan

  • What impact (if any) will there be on existing users? 

It won't impact any existing users. It will be new API

  • If we are changing behavior how will we phase out the older behavior? 

N/A

  • If we need special migration tools, describe them here.

We will have a tool for migrating a namespace as symlinked logs. ( Unable to render Jira issues macro, execution error. )

  • When will we remove the existing behavior?

N/A

Test Plan

Describe in few sentences how the DP will be tested. We are mostly interested in system tests (since unit-tests are specific to implementation details). How will we know that the implementation works as expected? How will we know nothing broke?

N/A

Rejected Alternatives

If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.

  • No labels