Permalink
Commits on Mar 20, 2014
  1. tests pass

    mosesn committed Mar 20, 2014
  2. detached version compiles

    mosesn committed Mar 20, 2014
Commits on Feb 20, 2014
  1. Merge branch 'tmp'

    Jenkins (CI) committed Feb 20, 2014
Commits on Feb 19, 2014
  1. [split] finagle: Fix version number in sbt project defintion

    RB_ID=290679
    stevegury committed with CI Feb 19, 2014
  2. [split] Adding monitoring/debugging for ZKAnnouncerTest "only announc…

    …e additional endpoints if a primary endpoint is present" This test is currently marked as flaky and doesn't run in any CI run, except birdcage_flakies (CI run that runs flaky tests). It regularly fails in birdcage_flakies runs, which makes it a prime test case for testing monitoring. The results from the output of this will be used to fine tune what stats we're printing or making available in terms of port monitoring on CI.
    
     TLDR on changes:
     - debugging lines on which "eventually" is failing
     - the status on the binds
     - a call to our new endpoint that prints out stats on the machine's current port usage
    
    RB_ID=286093
    TBR=true
    tquan committed with CI Feb 19, 2014
  3. [split] finagle-mux: Fix flaky request cancellation test

    RB_ID=288495
    evnm committed with CI Feb 19, 2014
  4. [split] release scrooge version 3.12.3

    RB_ID=290643
    TBR=true
    stevegury committed with CI Feb 19, 2014
  5. [split] Adding monitoring/debugging for ZKAnnouncerTest "only announc…

    …e additional endpoints if a primary endpoint is present" This test is currently marked as flaky and doesn't run in any CI run, except birdcage_flakies (CI run that runs flaky tests). It regularly fails in birdcage_flakies runs, which makes it a prime test case for testing monitoring. The results from the output of this will be used to fine tune what stats we're printing or making available in terms of port monitoring on CI.
    
     TLDR on changes:
     - debugging lines on which "eventually" is failing
     - the status on the binds
     - a call to our new endpoint that prints out stats on the machine's current port usage
    
    RB_ID=286093
    TBR=true
    tquan committed with CI Feb 19, 2014
  6. [split] release finable version 6.12.1

    RB_ID=290583
    TBR=true
    stevegury committed with CI Feb 19, 2014
  7. [split] release ostrich version 9.3.1

    RB_ID=290313
    TBR=true
    stevegury committed with CI Feb 19, 2014
  8. [split] release util version 6.12.1

    RB_ID=290145
    TBR=true
    stevegury committed with CI Feb 18, 2014
Commits on Feb 18, 2014
  1. [split] Upgrade everyone to the new c.t.common.server-set A critical …

    …bug have been found in c.t.common.zookeeper.client, this change upgrade everyone with the fixed jar.
    
    RB_ID=289319
    stevegury committed with CI Feb 18, 2014
  2. [split] Closing one side of a proxy should close the other

    Motivations:
    
    An HTTP proxy B between client A and server C.
    
        A<>B<>C
    
    When A<>B closes we want B<>C to also close. Steps to reproduce are
    described in the description of
    https://jira.twitter.biz/browse/MACAW-316.
    
    Modifications:
    
    For a service definition:
    
    > val client = ClientBuilder(..)
    > val proxy = Service.mk { req => client(req) }
    
    1. If we interrupt the client request, it should close the channel
    between the client and a destination. To illustrate:
    
    > client(req).raise(..)
    > verify(ch, times(1)).close()
    
    N.B. We can't quite do this because we don't have a reference to the
    underlying Channel ch, and even if we did, we don't call close on it
    directly but do it through Channels.close (why do we do this, is it to
    avoid deadlocks?):
    
    2. If we interrupt the proxy request, it should interrupt the client
    request.
    
    > val promise = new Promise[Response]
    > val proxy = Service.mk { _ => promise }
    > proxy(Request()).raise(..)
    > assert(promise.isInterrupted.isDefined)
    
    Now imagine a related service definition:
    
    > val service = Service.mk { req =>
    >   def loop = req.response.writer.write(..) before loop
    >   loop
    >   req.response.setChunked(true)
    >   Future.value(req.response)
    > }
    
    3. Transport closure in the service dispatcher should discard the
    reader.
    
    > val req = Request()
    > req.response.setChunked(true)
    > val service = Service.mk { _ => Future.value(req.response) }
    >
    > // Wait for the dispatch i.e. response has been returned
    > assert(Await.result(service(req)) === req.response)
    >
    > trans.close()
    > intercept[Reader.ReaderDiscarded] { Await.result(req.writer.write(..)) }
    
    RB_ID=276657
    luciferous committed with CI Feb 18, 2014
  3. [split] Tagging all ZkResolverTest tests as flaky

    RB_ID=289401
    TBR=true
    NO-QUEUE=true
    harleyjcooper committed Feb 18, 2014
Commits on Feb 16, 2014
  1. [split] Tagging flaky test in ZkResolverTest

    RB_ID=289357
    TBR=true
    NO-QUEUE=true
    harleyjcooper committed Feb 16, 2014
Commits on Feb 15, 2014
  1. [split] release finagle version 6.12.0

    RB_ID=289233
    TBR=true
    stevegury committed with CI Feb 15, 2014
  2. [split] release ostrich version 9.3.0

    RB_ID=289089
    TBR=true
    stevegury committed with CI Feb 15, 2014
  3. [split] release 6.12.0 of util

    RB_ID=288955
    TBR=true
    stevegury committed with CI Feb 14, 2014
Commits on Feb 14, 2014
  1. [split] finagle-core: Record Finagle version in tracing information

    In order to be able to easily audit Finagle version in deployed services, we'd
    like to record versions in Zipkin trace data at runtime. This change adds an
    `AtomicReference[String]` to com.twitter.finagle.Init that is set with the
    finagle-core version pulled from build.properties. This version is recorded
    under the key "finagle.version" in com.twitter.finagle.tracing.TracingFilter.
    
    RB_ID=284857
    evnm committed with CI Feb 14, 2014
  2. [split] finagle-serversets: Use ephemeral ports and `Var.sample` in t…

    …ests
    
    Motivations:
    Basically all of our ZkResolver tests are marked flaky, which is ridiculous.
    They use defined ports all over the place, which is ill-advised when running on
    CI machines. Also com.twitter.finagle.serverset2.ZkResolverTest used
    `Var.observeTo`, which is a deprecated method.
    
    Modifications:
    - All InetSocketAddresses used in these two test files now select
      ephemeral ports
    - Replaced AtomicReference+observeTo usage in
      com.twitter.finagle.serverset2.ZkResolverTest with `Var.sample`, as is done in
      com.twitter.finagle.zookeeper.ZkResolverTest
    
    RB_ID=286507
    evnm committed with CI Feb 14, 2014
  3. [split] Tagging finagle-mux test as flaky

    RB_ID=288467
    TBR=true
    NO-QUEUE=true
    harleyjcooper committed Feb 14, 2014
  4. [split] Get birdcage on latest com.twitter.common* libs CSL is trying…

    … to get birdcage and science on the same version of finagle/util/commons/etc, so this is step one before we publish finagle and util.
    
    RB_ID=287175
    bmdhacks committed with CI Feb 13, 2014
Commits on Feb 13, 2014
  1. [split] Adding monitoring/debugging for ZKAnnouncerTest "only announc…

    …e additional endpoints if a primary endpoint is present" This test is currently marked as flaky and doesn't run in any CI run, except birdcage_flakies (CI run that runs flaky tests). It regularly fails in birdcage_flakies runs, which makes it a prime test case for testing monitoring. The results from the output of this will be used to fine tune what stats we're printing or making available in terms of port monitoring on CI.
    
     TLDR on changes:
     - debugging lines on which "eventually" is failing
     - the status on the binds
     - a call to our new endpoint that prints out stats on the machine's current port usage
    
    RB_ID=286093
    TBR=true
    tquan committed with CI Feb 13, 2014
Commits on Feb 12, 2014
  1. [split] finagle-mux: Adds lease support to mux clients Motivation: By…

    … getting out the client-side support for leases quickly, clients will be ready for leases when the servers start turning them on.
    
    Luckily, the bulk of the work for leases is server-side, and Marius' client-side code was pretty clean.
    
    The premise behind Acting is that Service is lossy at this layer--isAvailable really reflects whether the connection is open or not, and we want to know whether the connection is open or not, but also whether the lease is applied or not.  Depending upon the answer, we're either going to throw away the Service (to get a new connection) or we're just going to knock ourselves out of the load balancer for a little while.  isAvailable doesn't stop being lossy until the ServiceFactory layer, at which point all we care about is whether it is currently safe to send requests, and we'll stop sending requests if it's no longer available, so LeasedFactory connects the lossy Service isAvailable abstraction to the hermetic ServiceFactory.
    
    Tlease will support a units field so that we can experiment with different varieties of leases.  Tlease messages should be infrequent, so it's fine to add a few extra bytes.
    
    Modifications:
    Adds Tlease to mux on the client side.
    Adds an Acting trait, which when mixed into a Service, improves the fidelity to the point where we can describe being Acting.  This will probably be subsumed by Probation or TemporarilyUnavailable in the future.
    Adds a LeasedBridger which uses the Service with Acting to form a proper ServiceFactory abstraction.
    Changes ReusingPool to respect ServiceFactory availability
    Adds tests
    
    Results:
    Mux clients will support Tlease in preparation for servers sending lease information.
    
    RB_ID=277783
    mosesn committed with CI Feb 12, 2014
  2. [split] finagle-core: TimeoutFactorySpec => TimeoutFactoryTest Motiva…

    …tion: Found this change in a debugging branch, figured might as well ship it.
    
    Modifications:
    TimeoutFactorySpec => TimeoutFactoryTest
    
    Results:
    Fewer tests on specs2
    
    RB_ID=285733
    mosesn committed with CI Feb 12, 2014
  3. [split] finagle-kestrel: Use Var[Addr] as underlying cluster represen…

    …tation
    
    Moves finagle-kestrel away from `com.twitter.finagle.builder.Cluster`.
    
    Changes outside of finagle-kestrel:
    
    - finagle-core: Add Addr.Bound.apply(j.u.List) method for Java compatibility
    - finagle-core: Change Addr factory functions' to return Addrs instead of the
      specific subclass they produce (was blocking Java compatability)
    - util-core: Add `Try.exists(p: R => Boolean): Boolean`
    
    RB_ID=243053
    evnm committed with CI Feb 12, 2014
Commits on Feb 11, 2014
  1. [split] finagle-core: Write `Throwables.mkString` in terms of ArrayBu…

    …ffer instead of Seq
    
    RB_ID=281371
    evnm committed with CI Feb 11, 2014
  2. [split] finagle-kestrel: Fix match-exhaustiveness issue in `DecodingT…

    …oResponse.parseResponse`
    
    RB_ID=284031
    evnm committed with CI Feb 11, 2014
  3. [split] close Name Var observation on service close

    RB_ID=284699
    bmdhacks committed with CI Feb 10, 2014
Commits on Feb 8, 2014
  1. [split] Finagle-Serversets: Use the watch method instead of the now d…

    …eprecated monitor method
    
    RB_ID=272407
    Johan Oskarsson committed with CI Feb 7, 2014
Commits on Feb 7, 2014
  1. [split] Re-enable "Option to enable thread pool scheduler in finagle"

    It's previously reverted in http://go/rb/282863 , since we still have environment building using jdk6.
    
    Changed to use reflection to create the LinkedTransferQueue at runtime to avoid build time errors on jdk6.
    
    RB_ID=282909
    Lei Wang committed with CI Feb 7, 2014
  2. [split] finagle-core: Fix broken failure StatsReceiver test

    RB_ID=281579
    evnm committed with CI Feb 7, 2014
  3. [split] Revert "Option to enable thread pool scheduler in finagle, an…

    …d fix the shutting down RejectedExecutionException's." (It's breaking the build on JDK6 machines)
    
    RB_ID=282863
    NO-QUEUE=true
    stevegury committed Feb 7, 2014
Commits on Feb 6, 2014
  1. [split] Option to enable thread pool scheduler in finagle, and fix th…

    …e shutting down RejectedExecutionException's.
    
    The option is in finagle exp now, users will be able to enable this without code change.
    
    Don't have a fix for setUnsafe conflict when the user is also using setUnsafe. The one comes later will be used as the final scheduler.
    And don't have a fix for errors caused by a executor with a bounded capacity.
    
    RB_ID=266095
    Lei Wang committed with CI Feb 6, 2014
  2. [split] Master meet Echidna; Echidna meet Master

    RB_ID=276819
    jcarey03 committed with CI Feb 6, 2014