Lack of documentation, tutorials, videos or books - barrier to EventStore success?

1,272 views
Skip to first unread message

Hoegge

unread,
Oct 28, 2017, 4:57:10 AM10/28/17
to Event Store
Hi

I have now for quite some time tried to study all I can find on event sourcing and then decided to go for EventStore instead of trying to assemble a system with Kafka, or other some database and messaging system (like e.g. RabbitMQ) - and trying to do our own does not make sense, I think. But it seems like there is really no good introductions to EventStore anywhere. I've found 3 youtube videos by random people and then there is the EventStore.org documentation, which is rather scattered and no very systematic. And it does not really offer a way to learn using EventStore. I know there is a commercial version also, but this seems like a quite high entry barrier for anybody interested in using EventStore which I think in turn will affect the commercial viability of EventStore. 

Maybe EventStore is easy to use, for people who already knows "everything", but some of us don't :-) and the documentation is simply to sparse to provide learning in my opinion. 

Is there really no courses, books or tutorials for learning to use EventStore from Node JS and C#?

kind regards,
Hoegge

Poule Dodue

unread,
Oct 28, 2017, 9:31:40 AM10/28/17
to Event Store
Thing I'd suggest to a new architect with an interest in ES would be to first read all they can find on
- Event-Driven Architecture
- Stream Processing
- Complex Event Processing

Hoegge

unread,
Oct 28, 2017, 4:11:20 PM10/28/17
to Event Store
Thanks - I have spent a lot of time on that - videos, blog posts, all sources I could find - and now just want to get going and find the EventStore documentation quite disappointing, which is a shame, since I really think the concept is very solid. But there is just too much guess work / friction to start using it, unless I've overlooked something

Greg Young

unread,
Oct 28, 2017, 4:28:49 PM10/28/17
to event...@googlegroups.com
What things are you missing?

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Studying for the Turing test
Message has been deleted
Message has been deleted

Hoegge

unread,
Oct 29, 2017, 2:26:03 PM10/29/17
to Event Store
I’ll collect examples on what I’m missing as an Eventstore beginner and get back here. Thanks
Message has been deleted

Austin Salgat

unread,
Nov 16, 2017, 12:46:56 PM11/16/17
to Event Store
The biggest issue I'm facing is the need for a "Common issues" guide. Things like increasing file handles on Linux so it doesn't blow up when you hit a certain db size, tuning your heartbeat and gossip intervals depending on your environment. Suggestions for if you start to hit certain issues (like commit timeouts on projections).


On Saturday, October 28, 2017 at 3:28:49 PM UTC-5, Greg Young wrote:
What things are you missing?
On Sat, Oct 28, 2017 at 9:11 PM, Hoegge <hoe...@gmail.com> wrote:
Thanks - I have spent a lot of time on that - videos, blog posts, all sources I could find - and now just want to get going and find the EventStore documentation quite disappointing, which is a shame, since I really think the concept is very solid. But there is just too much guess work / friction to start using it, unless I've overlooked something


On Saturday, October 28, 2017 at 3:31:40 PM UTC+2, Poule Dodue wrote:
Thing I'd suggest to a new architect with an interest in ES would be to first read all they can find on
- Event-Driven Architecture
- Stream Processing
- Complex Event Processing

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Poule Dodue

unread,
Nov 16, 2017, 1:22:00 PM11/16/17
to Event Store
+1

ahjohannessen

unread,
Nov 16, 2017, 6:50:56 PM11/16/17
to Event Store
I think that something along the lines of https://www.cockroachlabs.com/docs/stable/operational-faqs.html and docs linked from there should be in ES docs.

Poule Dodue

unread,
Nov 17, 2017, 5:04:35 AM11/17/17
to Event Store
with VC to fund scaling features and good docs, ES would be on par with Confluent

Austin Salgat

unread,
Nov 17, 2017, 12:55:06 PM11/17/17
to Event Store
Speaking of alternatives like Confluent, Jet seems to be building out their own open-source event sourcing engine as a replacement for EventStore to address some of their difficulties. https://medium.com/@eulerfx/scaling-event-sourcing-at-jet-9c873cac33b8

Riccardo Di Nuzzo

unread,
Nov 18, 2017, 10:55:08 AM11/18/17
to Event Store
It doesn't seems an EventStore "replacement". They added Kafka as up-stream in front of EventStore showing how they replicate their solution across 2 datacenters. They are doing mappings and transformations between the Kafka consumers and the Eventstore down-streams and therefore personally I'm not sure that this is a good idea for the complexity of handling failures on separate systems. But still an interesting read.

Reading the title of this thread I wonder why this article as been brought in? The web is full of different ways to architect message driven solutions using raw stream processing or more structured DDD approaches. I know that it's hard but Google seems to me the best source of information. I like to use EventStore as a flexible engine and build my car around it. They can provide some examples and give directions but the rest is our sweat :)

Austin Salgat

unread,
Nov 18, 2017, 2:38:15 PM11/18/17
to Event Store
You're talking about their current solution, I'm talking about the next-gen event sourcing engine they are developing (that's not in use yet).

Event-Sourcing Engine — while we’ve gotten quite far with EventStore, we’ve set out to build a replacement event-sourcing data store to continue to meet our scaling demands. With this data store, we’re looking to have built-in support for geo-replication.

Greg Young

unread,
Nov 18, 2017, 2:56:41 PM11/18/17
to event...@googlegroups.com
geo-replication is a pretty easy feature to add (and its being added currently). Maybe send me an email offline and we can discuss how it will work. It will be AP not CP

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Poule Dodue

unread,
Feb 15, 2018, 3:02:03 PM2/15/18
to Event Store

A useful first step in documentation would be a glossary of the terms used in the Dashboard. The Dashboard is usually the first contact point after install;

MainQueue
MonitoringQueue
Projection Core
Projections Master
Storage Chaser
StorageReaderQueue
StorageWriterQueue
Subscriptions
Timer
Workers

ChaserCheckpointFlush
CheckPollTimeout
ExecuteScheduledTasks
etc...

Add a small (?) image near the term with a small popup that defines what it is would be great

Sebastian P.R. Gingter

unread,
Mar 8, 2018, 3:20:32 PM3/8/18
to Event Store
I second the OP.

I find the documentation on eventstore.org/docs *very* confusing.

The first thing you see when you get to the docs page is the in the navigation at the left side. This is quite okay. I click on "Getting Started" and read about how to start the server, http POST and event (why not use the .NET client?) and how to read events using HTTP (why not use the .NET client?).
I which there would be a slightly different structure as in "Setting up your Development Even Store" and "Storing and reading your first event" both via HTTP and the .NET / Java/ whatever clients.

However, the second article on the navigation side then is "Competing Consumers Introduction". And in the second paragraph it says that the Competing COnsumers differ in usage from the Subscribe operation or from a CatchUp Subscription. And I am completely like "differ from WHAT"? And I'm searching for an explanation or an example for these two and can't find that.

After quite some time I found out that the "Getting Started" series on the Documentation Home is NOT the "Getting Started" from the left side navigation, but links to different articles, and there might be an explanation.

So, in short, at least for me the bar to really start using Event Store is quite high.
And I am currently only using that for a pet project. But maybe some day I will end up with a customer that is in need for a solution where that might fit. And a low entry bar would make it easier for them to get started and maybe aquire one of the commercial packages.




Alexey Zimarev

unread,
Mar 13, 2018, 2:46:11 AM3/13/18
to Event Store
I even opened an issue on how to solve the open files failure but I believe Greg doesn’t see it as an issue at all. I also suggested a line in the docs and the answer was “one is not enough, try 100+” so we are left with none.

End of rant.

Greg Young

unread,
Mar 13, 2018, 3:05:09 AM3/13/18
to event...@googlegroups.com
This is not an eventstore issue this is basic linux administration, I mean I even knew it and am completely stupid at anything beyond being a desktop linux user in linux. 


This is a generic linux configuration problem not an EventStore issue. Under this logic we should also write documentation for "Cannot bind to address: address already in use". These are OS level errors. Would you prefer us spend our time (currently doing) and making ES documentation better or documenting what should be obvious OS level errors (there are thousands).


I even opened an issue on how to solve the open files failure but I believe Greg doesn’t see it as an issue at all. I also suggested a line in the docs and the answer was “one is not enough, try 100+” so we are left with none.

End of rant.
--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alexey Zimarev

unread,
Mar 13, 2018, 4:48:27 AM3/13/18
to Event Store
Yeah, send me an invoice for wasting your time. You do not have to read this. And I can remove the issue, no problem.

The biggest issue I'm facing is the need for a "Common issues" guide. Things like increasing file handles on Linux so it doesn't blow up when you hit a certain db size, tuning your heartbeat and gossip intervals depending on your environment. Suggestions for if you start to hit certain issues (like commit timeouts on projections).

If this is not something obviously relevant because there are numerous encounters of this particular issue in this group and in our production experience we had it twice, among with, surprise, tuning the heartbeat and gossip intervals.

These are exactly two main issues we ever had in production (among with stuck projections but this was recognised as a bug) and we are in production for one year and four months now, as your paying customer. Not "thousands" of mythical OS issues that never happened. Concrete, specific issues that almost anyone hit but not everyone reported.

Greg Young

unread,
Mar 13, 2018, 5:09:13 AM3/13/18
to event...@googlegroups.com
I would recommend in general checking your number of open files and usage vs your ulimit and /etc configurations. We cannot do this for you as you likely have other things running on the same machine (like say an application server, tcp sockets cost as well against ulimits). We cannot automate this for you.

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Greg Young

unread,
Mar 13, 2018, 5:20:59 AM3/13/18
to event...@googlegroups.com
If you look closely the limit is on file descriptors. We cannot forecast the number of file descriptors used in your system. They are used for files, they are used for networking, they are used for talking to devices. If you do a "ls -l" which opens at least one file descriptor depending on the command we do not know this. We do not have this information. We then have multiple limits over which we have no control. 

As a perfect example you could do a "ls -l",a "vi foo.sh", or even a "telnet <machine>" which prevents ES from opening a new file.

Increasing the configuration should alleviate any issue.

Greg Young

unread,
Mar 13, 2018, 5:28:23 AM3/13/18
to event...@googlegroups.com
To be clear there are multiple levels of settings here per process and per node are the two most important. Either is configurable.

Greg Young

unread,
Mar 13, 2018, 5:35:54 AM3/13/18
to event...@googlegroups.com
On a side note if we *did* try to handle this automatically it would likely be viewed as a vulnerability by the security community as it could open possible attack vectors.

Andriy Drozdyuk

unread,
Mar 13, 2018, 5:05:13 PM3/13/18
to Event Store
Because some of us don't use .NET?
I appreciate HTTP examples.

Greg Young

unread,
Mar 13, 2018, 10:57:46 PM3/13/18
to event...@googlegroups.com
There are http examples. Check out here every operation discussed includes a curl command to replicate it.


--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Greg Young

unread,
Mar 13, 2018, 10:58:30 PM3/13/18
to event...@googlegroups.com

Andriy Drozdyuk

unread,
Mar 14, 2018, 1:08:37 PM3/14/18
to Event Store
To be fair Greg (siding with the people who complain), the old docs were better. In particular, this projection reference is amazing (I wish all docs were like this):

On the official site, there is  "projection" series.. which has a lot of "words" an very few examples, and it is also outdated:
etc..

In effect, the docs are in 3 different places now: the old wiki, the official docs, random series of blog-articles. I ordered them in order of best-to-worst. 
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--
Studying for the Turing test

Greg Young

unread,
Mar 14, 2018, 11:52:02 PM3/14/18
to event...@googlegroups.com
I complain about many of the docs, there is an active effort improving them. The http ones though I find to be amongst the better of them.

To unsubscribe from this group and stop receiving emails from it, send an email to event-store+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

chris...@eventstore.org

unread,
Apr 30, 2018, 4:03:34 AM4/30/18
to Event Store
Hello everyone!

I am the new(ish) docs person, after doing a platform overhaul, a sweep for some basic grammar, spelling etc and just 'getting my head round things', I am now embarking on a big update to the actual content.

This will be gradual, piece by piece and take some time (good docs take as long as good code, and are also ongoing), but I'm starting with 'getting started'.

I've read through all your inout and ideas and am forming some content ideas and mapping around them. Watch this space, or rather this space -> http://eventstore.org/docs/

Chris

Alexey Zimarev

unread,
May 3, 2018, 5:31:03 AM5/3/18
to Event Store
Chris, I have a suggestion, although some people say that this is completely unnecessary and impossible to solve, to put some recommendations on how to configure Linux boxes in order to run EventStore production grade.

This is how RavenDb has done it, I think the first advise is directly applicable to EventStore: https://ravendb.net/docs/article-page/4.0/csharp/start/installation/system-configuration-recommendations

Chris McKee

unread,
May 3, 2018, 7:29:05 AM5/3/18
to Event Store
Can someone kill the ligatures setting on the font.
Capture.PNG
Capture2.PNG

Hoegge

unread,
Jul 20, 2018, 5:55:18 AM7/20/18
to Event Store
Sounds great, since it is definitely needed. 

If you want feedback / input, please say so - I don't want to spend a lot of time on feedback if it is not used. Seems like the Documentation landing page just changed today? It is better, although strange, that the pages (first:Step 1 - Install, run, and write your first event) appearing when you click the Introduction is no way related to the pages under Introduction in the left column menu which is still quite confusing - all documents should be reachable from the left menu and the there should be a natural progression and the first document should not be about specific "non-introductory" topic.

kr
Hoegge

Chris Ward

unread,
Jul 20, 2018, 9:20:15 AM7/20/18
to event...@googlegroups.com
Hey Hoegge, 

So the new guide did go live today, but we hadn’t cleared CDN caches until after you sent this message, so I think you still saw the old one.

But now you should see a new guide at: http://eventstore.org/docs/

And I know of several issues and improvements that will be added soon, but would still love feedback, you can add them here, to GitHub, or just email me directly.

Chris

Morten H Pedersen

unread,
Jul 20, 2018, 9:25:41 AM7/20/18
to event...@googlegroups.com

Hi

 

Sounds good. At my end the Introduction contents (menu on left) and the link do still not match:

 

Med venlig hilsen

 

Morten Høgholm Pedersen

 

Mobile: +45 3054 5892
Email:
hoe...@gmail.com

LinkedIn: mhpedersen

Skype: m.h.pedersen

 

 

--
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.

image001.jpg

Chris Ward

unread,
Jul 20, 2018, 9:45:01 AM7/20/18
to event...@googlegroups.com
This is still the old docs, maybe you need to do a hard refresh, or just wait. When you see ‘Getting Started’ instead of ‘Introduction’ you know you have the new docs :)

Chris

Raith Munro

unread,
Aug 13, 2018, 8:34:32 AM8/13/18
to Event Store
Hi Chris W,

Just wondering if the overhaul of the docs is still ongoing?

If we find flaws then who should we report them to?

And can we trust that the docs will continue to get attention and not go stale?

Thanks,
Raith

Greg Young

unread,
Aug 13, 2018, 8:37:18 AM8/13/18
to event...@googlegroups.com
They are being actively worked on.

In terms of going stale it should not happen often. We are very conscientious about breaking changes overall. We have had *very* few breaking changes in the history of eventstore. You can in fact on the latest version load up a 1.0 database :O

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Chris Ward

unread,
Aug 13, 2018, 9:00:08 AM8/13/18
to event...@googlegroups.com
Hey all.

Yes, they are still ongoing, but I am only part time, and was just on holiday. The Getting started guide took some time, and I’ve been working on rewriting the HTTP API docs, and new docs for some commercial tools we’re about to release. They should both go live soon. Then after that I’ll continue doing the same to other sections.

And please, do report issues if you find them, or submit a PR here - https://github.com/EventStore/docs.geteventstore.com 

This will also help me decide which sections to work on next.

Thanks, Chris


--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

Raith Munro

unread,
Aug 13, 2018, 9:25:03 AM8/13/18
to Event Store
Thanks both,

I wasn't aware of the docs repo else I'd have known you were still on the case from the commit log and issue tracker.

That's great to know, and I'll contribute issues/PRs wherever I can help.

Thanks,
Raith

Chris Ward

unread,
Aug 13, 2018, 9:35:26 AM8/13/18
to event...@googlegroups.com
Ahhh, no worries, well glad to be of help :)

And I tend to work in branches, so also look in there. PS, you can even create issues and PRs straight from the live docs, so easy to report if you find an issue :)

Chris


Raith Munro

unread,
Aug 13, 2018, 10:14:13 AM8/13/18
to Event Store
If you mean the "Improve this Doc" links then I haven't found one that works. They all seem to refer to the "getting-started-rework" branch, which no longer exists.

It all makes sense to me now that I know the repo is alive and kicking. But as a frustrated newcomer to EventStore I had previously written those links off as another dead end!

I'm sure you guys aren't intentionally elitist, but there seems to be a form of (un)natural selection at work here - becoming an ES aficionado is a case of "survival of the fittest". For those that fall, there's Kafka...

Chris Ward

unread,
Aug 13, 2018, 10:57:38 AM8/13/18
to event...@googlegroups.com
Ah, that’s my fault, deploying a fix to that incorrect branch reference now!

Don’t worry, I have worked with a lot of companies improving their docs and developer experience, it’s all coming, and improving, but these things can take as long as (and are as complex as) the code sometimes.

I have worked with distributed systems before, but am a newbie to the C# world, so everything has been getting a real beginners eye, don’t you worry.

Hold on there and keep contributing ideas and issues :)

Chris

Morten H Pedersen

unread,
Aug 13, 2018, 2:26:08 PM8/13/18
to event...@googlegroups.com
Dear Chris,

That sounds great - it is really needed and crucial for the future of ES, I'd say.

Best
Hoegge

-----Original Message-----
From: event...@googlegroups.com <event...@googlegroups.com> On Behalf Of Chris Ward
Sent: 2018-08-13 16:58
To: event...@googlegroups.com
Subject: Re: Lack of documentation, tutorials, videos or books - barrier to EventStore success?

--
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.

Alexey Zimarev

unread,
Aug 14, 2018, 9:10:51 AM8/14/18
to Event Store
This is how Elasticsearch advises

SonarQube:

So my point again - maybe not automate, but document.

Raith Munro

unread,
Aug 15, 2018, 9:14:33 AM8/15/18
to Event Store
Hi Chris W,

There are a couple of breaks in the EventStore Docs navigation:

* The .NET API / "Code documentation" link no longer works. This is a very recent break.

* Projections / "Getting Started" is also broken, failing to reach "https://eventstore.org/docs/projections/getting-started.md" and redirecting to the homepage instead.

Thanks,
Raith

hoe...@gmail.com

unread,
May 29, 2019, 10:32:51 AM5/29/19
to event...@googlegroups.com
Just took a look at the documentation again. E.g. the documentation of user defined projections is just a single page, a bullet list with a single example and no real explanation on how to do. This simply not good enough. It is half the functionality of eventstore (1) store+stream events, 2) project) - and then only a single page describes it. 

/Hoegge

--
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.

To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
----

Morten H Pedersen

hoe...@gmail.com

unread,
May 29, 2019, 10:36:28 AM5/29/19
to event...@googlegroups.com
and you / they didn't even bother annotating the example with comments / explanations


Alexey Zimarev

unread,
May 29, 2019, 11:41:26 AM5/29/19
to Event Store
I don't feel that 1/2 of the EventStore functionality is internal projections. In fact, we use ES in production for years and we barely use internal projections, except the standard ones. I see how internal projections can be useful, but I won't call it the game changer or the most important feature of the product. I agree that more documentation would be nice, but it is not that extreme.

Chris Ward

unread,
May 29, 2019, 12:13:25 PM5/29/19
to Event Store
Whatever your feelings and usage on projections. We have a blog series and several additions to that section of the documentation coming soon, so keep your eyes open :)

Morten Høgholm Pedersen

unread,
May 29, 2019, 3:21:07 PM5/29/19
to event...@googlegroups.com
Sounds great. Thanks. Looking forward to it.

/Hoegge

On 29 May 2019, at 17.13, Chris Ward <chris...@eventstore.org> wrote:

Whatever your feelings and usage on projections. We have a blog series and several additions to that section of the documentation coming soon, so keep your eyes open :)

--
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.

Peter Hageus

unread,
May 30, 2019, 4:45:26 AM5/30/19
to Event Store
One area where I find the documentation lacking is tcp client behaviour. There are a lot of moving parts, and it's not clear at all how they interact. I've used EventStore in production since 2011, and I still struggle with some behaviours. Working on some reliability issues right now, and it looks like a CatchupSubscription comes back up after a ConnectionClose, but a Persistent Subscribtion does not. There might very well be a good reason for this, but as a consumer of the api it's not clear at all...

The documentation describes all the options, but not how they interact.

Greg Young

unread,
May 30, 2019, 3:02:57 PM5/30/19
to event...@googlegroups.com
Is this something that documentation or examples would help more with?

On Thu, May 30, 2019 at 4:45 AM Peter Hageus <peter....@gmail.com> wrote:
One area where I find the documentation lacking is tcp client behaviour. There are a lot of moving parts, and it's not clear at all how they interact. I've used EventStore in production since 2011, and I still struggle with some behaviours. Working on some reliability issues right now, and it looks like a CatchupSubscription comes back up after a ConnectionClose, but a Persistent Subscribtion does not. There might very well be a good reason for this, but as a consumer of the api it's not clear at all...

The documentation describes all the options, but not how they interact.

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/event-store/89c0cc51-de30-4fd2-a736-72e1705d624e%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Peter Hageus

unread,
May 31, 2019, 3:16:05 AM5/31/19
to andrew.deal via Event Store
I would be very interested in seeing a real-world, robust, example application. With proper error handling, batched projections, resilience etc.

/Peter

Morten Høgholm Pedersen

unread,
May 31, 2019, 11:49:03 AM5/31/19
to event...@googlegroups.com
Agree. Also, if Greg do classes, where people learn to use ES, such examples could also be used in the documentation.

/Hoegge
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/event-store/D18C42EB-398C-45F9-BA8A-BC3BFE0D87B9%40gmail.com.

Alexey Zimarev

unread,
Jun 1, 2019, 5:24:16 AM6/1/19
to Event Store
I used EventStore as the source of truth for most of the sample code in my book "Hands-on Domain-Driven Design with .NET Core", so there's quite a lot of working code that uses EventStore, publicly available, with a decent amount of text explaining what is going on and why.

Alexey Zimarev

unread,
Jun 1, 2019, 5:28:12 AM6/1/19
to Event Store
On Friday, May 31, 2019 at 8:16:05 AM UTC+1, Peter Hageus wrote:
I would be very interested in seeing a real-world, robust, example application. With proper error handling, batched projections, resilience etc.

/Peter

Well, that's production. Unless there's a production OSS app that uses ES, I can't see any way of getting such an example. Neither I can really see such examples for many other decent tools, databases and frameworks. For example, there's no real-world robust application that uses MongoDB C# driver, although MongoDB adoption is way higher.

Alexey Zimarev

unread,
Jul 24, 2019, 6:51:10 AM7/24/19
to Event Store
So, this issue was possible to fix and it is finally done, great stuff

LimitNOFILE=32768

On Centos 7, Ubuntu 16.04 and 18.04, LimitNOFILE has been added to the systemd service file with a default value of 32768. This parameter controls the maximum number of file descriptors (including sockets!) open by the eventstored process. For small and medium-sized databases, 32768 is a reasonable value but the value needs to be increased for large databases with several thousand chunk files or many client connections.

Increasing LimitNOFILE

To increase the value to 65536 for example, we recommend adding a systemd unit file override by following these steps. These settings will survive Event Store upgrades.

$ sudo systemctl edit eventstore.service

Add the following lines and save:

[Service]
LimitNOFILE=65536

Reload systemctl daemon and restart the eventstore service:

sudo systemctl daemon-reload
sudo systemctl restart eventstore.service

On Tuesday, March 13, 2018 at 8:05:09 AM UTC+1, Greg Young wrote:
This is not an eventstore issue this is basic linux administration, I mean I even knew it and am completely stupid at anything beyond being a desktop linux user in linux. 


This is a generic linux configuration problem not an EventStore issue. Under this logic we should also write documentation for "Cannot bind to address: address already in use". These are OS level errors. Would you prefer us spend our time (currently doing) and making ES documentation better or documenting what should be obvious OS level errors (there are thousands).


I even opened an issue on how to solve the open files failure but I believe Greg doesn’t see it as an issue at all. I also suggested a line in the docs and the answer was “one is not enough, try 100+” so we are left with none.

End of rant.

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Hoegge

unread,
May 6, 2020, 9:55:33 AM5/6/20
to Event Store
And years later there is still only one single example in the projections documentation. Come on !

On Saturday, October 28, 2017 at 10:57:10 AM UTC+2, Hoegge wrote:
Hi

I have now for quite some time tried to study all I can find on event sourcing and then decided to go for EventStore instead of trying to assemble a system with Kafka, or other some database and messaging system (like e.g. RabbitMQ) - and trying to do our own does not make sense, I think. But it seems like there is really no good introductions to EventStore anywhere. I've found 3 youtube videos by random people and then there is the EventStore.org documentation, which is rather scattered and no very systematic. And it does not really offer a way to learn using EventStore. I know there is a commercial version also, but this seems like a quite high entry barrier for anybody interested in using EventStore which I think in turn will affect the commercial viability of EventStore. 

Maybe EventStore is easy to use, for people who already knows "everything", but some of us don't :-) and the documentation is simply to sparse to provide learning in my opinion. 

Is there really no courses, books or tutorials for learning to use EventStore from Node JS and C#?

kind regards,
Hoegge

Avi Block

unread,
May 6, 2020, 9:58:08 AM5/6/20
to event...@googlegroups.com
I think part of this reason is that eventstore really doesn't make much sense without understanding DDD. How to identify aggregates, bounded context, ubiquitous language, etc. There have been many books and articles alone on those subjects.

--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

Hoegge

unread,
May 6, 2020, 9:59:26 AM5/6/20
to Event Store
... and there actually aren't rally any explanations - just bullet points repeating what the statements / commands say already.

Hoegge

unread,
May 6, 2020, 10:13:17 AM5/6/20
to Event Store
Hi,

Well - that part is one thing, and that is something you can find elsewhere. 

But the projections and query part of Evenstore is simply not described in a useful way. A super primitive example, that uses a tiny part of the capabilities, and it is not even described what it does. It just seems like they (Eventstore guys) are super lazy and don't really seem to care. The principles are easy to understand, and the use is probably simple, but documentation is a mess and information has to be glued together by the user by searching through blog posts, github, this group and the web page. E.g., should you set ResolveLinkTos to true or false, and why and when? 

It is just such an unnecessary barrier to entry that does the concept and the product such a huge disfavor. In a world where NodeJS is huge, the Node client also seems like a stepchild to Eventstore - I think the maintainer is from Eventstore, but the documentation of that package (node-evenstore-client) is also almost not existing and probably referring to the .net API description, and then you are back to the mess at evenstore.com :-|

/Hoegge
To unsubscribe from this group and stop receiving emails from it, send an email to event...@googlegroups.com.

Alexey Zimarev

unread,
May 6, 2020, 11:24:46 AM5/6/20
to Event Store
> are super lazy and don't really seem to care.

That's quite offensive, don't you think? The docs repo is open source, you are free to create issues where and contribute.

We are working on the docs now, anyway. Thank you for using Event Store.

Nicolas Henin

unread,
May 6, 2020, 11:56:36 AM5/6/20
to event...@googlegroups.com
Maybe you could pay the team for doing it 😜 if you are not satisfied 🙂

Sent from my iPhone

On 6 May 2020, at 17:24, Alexey Zimarev <azim...@gmail.com> wrote:


To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/event-store/d400f6b8-a5ab-4304-aca1-90ef30aaac8b%40googlegroups.com.

Sebastian Gingter

unread,
May 6, 2020, 1:10:53 PM5/6/20
to event...@googlegroups.com
Hi,

> Maybe you could pay the team for doing it if you are not satisfied

nah, seriously. We're talking about official documentation of an at
least partially commercial product.

It's in the companies best interest to provide a structured, easy to
follow documentation that covers the basics
of each feature, including good getting started sections for
.NET,Java, Node, projections etc.

If you can get started and get the concepts from a good documentation,
and then you run into more
advanced topics it's likely that you call them up and ask for
commercial support.

If you, however, want to have a deeper look at it to figure out if its
suitable for your use-case,
and you can't get a grasp of it from the docs because they are not
complete or even if they are,
they aren't well structured, then you'll soon give up and discard the
product alltogether.

That is my point of view. And if the point of view of the company
behind the product differs from
that, well, then that's totally okay. In that case I'm probably just
not the candidate for becoming
a customer and I probably won't recommend that product to the
customers I consult too, because
I can only recommend high quality products, and a good documentation
is one criteria that
contributes to the quality of a product and its usability.

And that said, these kind of answers seriously make me reconsider my
latest recommendation
of ES to a customer. Maybe that wasn't such a good idea. :(

Cheers,

Sebastian

Hoegge

unread,
May 6, 2020, 2:52:22 PM5/6/20
to Event Store
Hi Sebastian,

Yes - I fully agree with our point of view. We have worked with EventStore for a system for 2 years now. I don't think there is something "wrong" with ES, but we continued to have bugs due, what I think is the wrong way of using ES from Node and using the poorly documented node-eventstore-client, which led to connection dropouts. I'm sure we could have got an answer here in the group along the line: "... but that is just because you have to <whatever-good-reason-no-one-could-find.out-by-reading-the-documentation-since-it-is-not-desdcribed>". This means we have now abandoned ES in favor of just saving events in Postgres, which can also keep up and gives us other benefits - like well documented tooling ;-) 

I really get / love the ES concept and in theory it should and would make your life much easier in many situations, since a lot of real life domains are "eventsourced", and if you capture the events, you can always change your models with time and understanding.

The ES engine seems very solid and no-nonsense and seems to perform very well, but there are just so many weird things in the implementation that makes it hard to us - much harder than it should be.

Mat McLoughlin

unread,
May 6, 2020, 3:00:37 PM5/6/20
to Event Store
Hey,

So as a long time user of Event Store I can appreciate where you are all coming from. The documentation has been a frustration for me too. It made it tricky to get started and I know it's put some people off the product.

The good news is things have changed a lot over the past year at Event Store and they've done some hiring, including me :).

I've been given the chance to fix the documentation and we are currently at the start of a rewrite of the docs and plan to cover eveything (Including projections) in a lot more detail.

We are not there yet but when we get some of the basics in place I'll be reaching out to get feedback so we know we are on the right tracks.

So please bear with me
Mat

Ps. We are also moving things over to https://discuss.eventstore.com so we can do a better job of offering help via the forums.

James Nugent

unread,
May 6, 2020, 3:02:31 PM5/6/20
to Event Store
Hi,

As Mat says, we have a new project to rewrite and improve documentation now.

We also plan to ship a first party Node.js client written using TypeScript for the version 6 gRPC API, and should have a preview out soon.

Thanks,


James

Hoegge

unread,
May 6, 2020, 3:03:54 PM5/6/20
to Event Store
Yes and no. But was more meant like a slight "wakeup call". I LOVE the concept and the potential simplicity ES, but some of these things ruin the experience and ability for people to adapt it.

The query / projections documentation has not been improved in two years - there is one bullet-list-like page, with one example and a blog post. Which is the same as nothing. It is a new way to do queries / projections - imaging trying to teach people SQL from scratch as a new language with the same amount of documentation.

I'd like to contribute, but it will mostly be with describing what I don't understand / what is not described (sufficiently or at all). There seems to be so much implicit knowledge, only the original authors know. 

E.g. in the clients, a parameter is called "CheckPoint" - how should I know what that means? I THINK it means the event number you start your subscription from, but it doesn't say?
The ResolveLinkTos boolean parameter? WTF?
And then the weird web interface doesn't make it easier, with the stubborn klinging on tho having next and previous meaning the opposite of next and  previous (due to sum atom pub sub convention), and then next and previous meaning the opposite again when you have opened an event. Clearly the ES guys don't use that interface but beginners would. And you often can end up in blank pages if going to far with next / previous with no buttons to get back.

Another thing - the database fills up with statistics if you don't add some scavenging. Well - if ES is your baby it is probably very logic and natural - but for a newcomer, getting your database filled Gigaybtes of useless statistics crap over time that takes up much more space than your events - again WTF. Not a way to help "customers" get success with ES.

Hoegge

unread,
May 6, 2020, 3:09:48 PM5/6/20
to Event Store
Hi James and Mat.

That sounds awesome. A first party TS Node client is REALLY amazing - I wish we have had that 3 years ago, when we started. 
Then we could also have / make a way to do type-safe query writing with intellisense for projections maybe? 
I'm looking forward to trying that and will give concrete feedback on the (lack of) documentation in some way - but not sure how to best do that?

best
Hoegge

Greg Young

unread,
May 6, 2020, 3:34:58 PM5/6/20
to event...@googlegroups.com
Before getting into anything technical ... 

I am trying to understand what you would actually want here/what your requirements are. Why would you need type safety via typescript in a projection?  I once wrote one > 1000! loc but it was an *extreme* outlier. Normally they are +-10 lines of code (often a single line). Under most use cases I have seen they get written in an hour they run forever, they don't really change. What is the perceived benefit?


--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.

Alexey Zimarev

unread,
May 6, 2020, 3:47:15 PM5/6/20
to Event Store
As I said, the documentation (current version) is a public repository (https://github.com/EventStore/documentation) and it's being updated just to keep up with the ongoing changes in the server configuration and v5 .NET Client.

All the serious effort right now is going towards the entirely new documentation website and content. 
For v5 the docs will contain mostly the same content with easier navigation and rewritten Event Sourcing intro.
For the upcoming major version, the documentation is being written from scratch, including docs for all the clients (drivers).

Alexey Zimarev

unread,
May 6, 2020, 3:52:18 PM5/6/20
to Event Store
Sebastian, I think we're all in agreement about it. I understand the frustration, and we're taking the documentation issue seriously.

Not only that, but we are also hosting regular webinars (https://eventstore.com/webinars/) and publish tutorials and articles in our blog. For example, Chris wrote a tutorial about projections (https://eventstore.com/blog/playing-with-projections/).


On Wednesday, May 6, 2020 at 7:10:53 PM UTC+2, Sebastian P.R. Gingter wrote:
Hi,

> Maybe you could pay the team for doing it if you are not satisfied

Alexey Zimarev

unread,
May 6, 2020, 3:59:42 PM5/6/20
to Event Store
I meant that if you look at the EventStore server and .NET client contribution stats, you'll see that Event Store developers are nothing close to "lazy".

But, nevermind, I do agree that those areas you mentioned need improvement and I can only reassure you that all of it is known to us and we are working hard to make dev and ops people working with Event Store happier. Docs, new clients, stats, scavenging - all of it. We just need a bit of time.

Hoegge

unread,
May 7, 2020, 3:17:46 AM5/7/20
to Event Store
Thanks. I have signed up for the webinar next Thursday, and Chris' blog is fine, but not more detailed then what should also be part of the documentation.

I have added some questions and comments to his blog (attached) for you to consider, when revising the documentation. Not sure if here is the place you want that?

best
Hoegge
A few comments to Playing with Projections - Event Store Blog.pdf

hoe...@gmail.com

unread,
May 7, 2020, 3:35:30 AM5/7/20
to event...@googlegroups.com

Hi Greg,

 

I think the benefit could be, that you could easily re-use your own projections code (from your own code) on your Event Store server.

 

When you make event-handlers and projections in your client code (NodeJS server), you would normally (or at least we did) have Intellisense and have types / schemas for events. We never used Event Store projections, but ran them all in our own code. But I guess it would make sense to do some of those on the Event Store server instead. So then it would be smart if you could use TypeScript on the server and it provided the correct types, methods, handlers available and also had intellisense, wouldn’t it? If we had a common / standardized way to create projections in both our own client code and on the server we could just move the projections to or from the Event Store server, as we liked.

 

I have not yet really found out if it is smarter to make your projection - create your state - in your own server code (storing it in memory or database) or using Event Store for most of that? If you use Event Store, it is JS code-snippets living on the server and not really part of your own code repository and something that is easy to test, is it? If there was an easy way to deploy projections code the server (e.g. by placing it in a folder), then everything could be done in our own code, tested in docker and rolled out into production via CI/CD instead of creating projections via web interface or APIs

 

Or maybe I still don’t really understand how the projections are implemented and meant to be used.

 

/Hoegge

--
You received this message because you are subscribed to a topic in the Google Groups "Event Store" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/event-store/VG8DGJFRIWg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to event-store...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/event-store/CAC9RQthR0iQk90fqBzs7FRCMdwdTiM8N1fZmtOXi%3DBqaqmfPRw%40mail.gmail.com.

Greg Young

unread,
May 7, 2020, 3:59:03 AM5/7/20
to event...@googlegroups.com
Let me research typescript a bit and if there is a way to define things eg just a header etc.

Hoegge

unread,
May 7, 2020, 10:17:30 AM5/7/20
to Event Store
Dear Alexey,

I have created a pull request for the docs with quite a bunch of questions and comments. Let me know, if this is a useful way to convey it.


Best
Hoegge

Emily Ross

unread,
May 8, 2020, 7:45:00 AM5/8/20
to event...@googlegroups.com
hi


--
You received this message because you are subscribed to the Google Groups "Event Store" group.
To unsubscribe from this group and stop receiving emails from it, send an email to event-store...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages