Skip to content

Create operation always enables projection, but it should not #259

Closed
@michael-schnell

Description

@michael-schnell

Currently there seems to be no way to create a disabled projection using the EventStoreDBProjectionManagementClient.

The documentation of the create operation states:

Creates a new projection in the stopped state. Enable needs to be called separately to start the projection.

But when the following code is executed, the projection is already enabled (even if "enable" was not called afterwards):

    public static void main(String... args) throws ExecutionException, InterruptedException {

        EventStoreDBProjectionManagementClient client = EventStoreDBProjectionManagementClient
                .create(EventStoreDBConnectionString
                        .parseOrThrow("esdb://localhost:2113?tls=false"));

        String javascript = "fromAll().foreachStream().when({'one': function(state, ev) { linkTo('test-delete', ev); },'two': function(state, ev) { linkTo('test-delete', ev); }})";

        client.create("my-projection", javascript,
                CreateProjectionOptions.get().emitEnabled(false).trackEmittedStreams(true)).get();

    }

This means there is currently no way to create a disabled projection using the API.

Full Maven project for testing can be found here: https://github.com/michael-schnell/eventstore-create-enabled-bug

DEV-229

Metadata

Metadata

Assignees

No one assigned

    Labels

    linearwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions