Hi Robert, Yes, this is something I really believe in: test coverage offered by embedded instances are worth some temporary flakiness (due to resource over consumption). I also deeply agree with your point on maintenance: some mocks could hide bugs in production code that would cost a lot in the long term. Etienne
Le lundi 28 janvier 2019 à 11:44 +0100, Robert Bradshaw a écrit : > I strongly agree with your original assessment "IMHO I believe thathaving > embedded backend for UTests are a lot better > than mocks." Mocksare sometimes necessary, but in my experience they are > often anexpensive (in production and > maintenance) way to get what amounts tolow true coverage. > On Mon, Jan 28, 2019 at 11:16 AM Etienne Chauchot <echauc...@apache.org> > wrote: > > Guys, > I will try using mocks where I see it is needed. As there is a current PR > opened on Cassandra, I will take this > opportunity to add the embedded cassandra server > (https://github.com/jsevellec/cassandra-unit) to the UTests.Ticket > was opened while ago: https://issues.apache.org/jira/browse/BEAM-4164 > Etienne > Le mardi 22 janvier 2019 à 09:26 +0100, Robert Bradshaw a écrit : > On Mon, Jan 21, 2019 at 10:42 PM Kenneth Knowles <k...@google.com> wrote: > > Robert - you meant this as a mostly-automatic thing that we would engineer, > yes? > > Yes, something like TestPipeline that buffers up the pipelines and > then executes on class teardown (details TBD). > > A lighter-weight fake, like using something in-process sharing a Java > interface (versus today a locally running > service sharing an RPC interface) is still much better than a mock. > > +1 > > > Kenn > > On Mon, Jan 21, 2019 at 7:17 AM Jean-Baptiste Onofré <j...@nanthrax.net> > wrote: > > Hi, > > it makes sense to use embedded backend when: > > 1. it's possible to easily embed the backend > 2. when the backend is "predictable". > > If it's easy to embed and the backend behavior is predictable, then it > makes sense. > In other cases, we can fallback to mock. > > Regards > JB > > On 21/01/2019 10:07, Etienne Chauchot wrote: > Hi guys, > > Lately I have been fixing various Elasticsearch flakiness issues in the > UTests by: introducing timeouts, countdown latches, force refresh, > embedded cluster size decrease ... > > These flakiness issues are due to the embedded Elasticsearch not coping > well with the jenkins overload. Still, IMHO I believe that having > embedded backend for UTests are a lot better than mocks. Even if they > are less tolerant to load, I prefer having UTests 100% representative of > real backend and add countermeasures to protect against jenkins overload. > > WDYT ? > > Etienne > > > > -- > Jean-Baptiste Onofré > jbono...@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com