Commit graph

22689 commits

Author SHA1 Message Date
Saleh Khazaei
91b0c387be Add examples for Fan-in operators #25468 2018-10-25 09:37:48 -04:00
Jonas Chapuis
b8a9f8b6d7 Zip/Unzip support up to 22 ports (#25742)
* Zip/Unzip support up to 22 inputs/outputs respectively
2018-10-24 09:38:07 -04:00
Patrik Nordwall
4479046d1e fix cluster routing docs (#25810)
* broke when it was moved to separate page
2018-10-24 08:13:43 -04:00
Johannes Rudolph
655bef2e71 Fix typo in reference.conf (#25821) 2018-10-24 07:42:03 -04:00
Patrik Nordwall
751a67ef42
Merge pull request #25659 from akka/shardingErrorMessage
Add troubleshooting hint to logging
2018-10-18 15:07:12 +02:00
Dolly Gyanchandani
e26a90f340 Create typed ActorMaterializer from ActorContext, ##25536
* Create typed ActorMaterializer from ActorContext to bind stream's lifecycle with an actor's lifecycle

* Add Java API for creating typed ActorMaterializer from ActorContext
2018-10-18 15:03:27 +02:00
Patrik Nordwall
abb3429bc8
Merge pull request #25804 from akka/wip-25750-AbstractBehavior-patriknw
Rename MutableBehavior to AbstractBehavior, #25750
2018-10-18 13:16:48 +02:00
Patrik Nordwall
1d4fb852d0
Merge pull request #25697 from akka/wip-PersistentEntity-patriknw
PersistentEntity to glue together Sharding and PersistentBehavior better
2018-10-18 13:11:18 +02:00
Patrik Nordwall
2672bd7a95 PersistentEntity to glue together Sharding and PersistentBehavior better
* Makes the combination more visable
* You don't have to worry about the persistenceId, only EntityTypeKey and entityId
* The glue is stronger in the javadsl because of two reasons
  * Couldn't realisticly create a PersistentEntity class extending PersistenBehavior (which
    contains all the optional parameters and functions) since that would duplicate too much.
  * The ActorContext would be needed in the ShardedEntityContext parameter and because of the
    additional M type parameters the type inference breaks down when using the factory. Would
    require specifying the type of the ShardedEntityContex[M] parameter. That problem doesn't
    seem to exist in Java.

renamed:
s/ShardedEntityContext/EntityContext/
s/ShardedEntity/Entity/
2018-10-18 11:47:51 +02:00
Patrik Nordwall
bed17cc172
null as empty state, in javadsl, #25768 2018-10-18 11:38:27 +02:00
Patrik Nordwall
1691961a10
AccountExample in Scala in a few flavors, #25485
* AccountExample in Scala in a few flavors
* include Account examples in reference docs
* cleanup BlogPost example
* include reply doc snippets
2018-10-18 11:37:06 +02:00
Patrik Nordwall
58ec80d4f8
Merge pull request #25692 from akka/wip-25482-then-reply-patriknw
thenReply Effect, #25482
2018-10-17 16:49:23 +02:00
Patrik Nordwall
49f66221f5 remove verbose from classgraph (#25806)
* this also fixes the performance regression of akka-docs/paradox
2018-10-17 16:24:39 +02:00
Patrik Nordwall
81c7adf4a1 thenReply Effect, #25482
* enforce ReplyEffect
2018-10-17 14:02:16 +02:00
Patrik Nordwall
4131036a12
PersistenceId type to differentiate between persistenceId and entityId, #25703 (#25704)
* PersistenceId type to differentiate between persistenceId and entityId, #25703

* both entityId (for sharding) and persistenceId as String types was easy
  mix-up
* utility method in EntityTypeKey to concatenaty the type and entityId to
  a unique persistenceId

* support custom separator to enable compatilbility with Lagom's javadsl
2018-10-17 13:53:50 +02:00
Patrik Nordwall
570896f22a
Merge pull request #25783 from ignasi35/bumps-ssl-config-036
Bumps ssl-config 0.3.6
2018-10-17 13:40:14 +02:00
Patrik Nordwall
77b5c15c5c
Merge pull request #25805 from akka/wip-sbt-1.2.6-patriknw
update to sbt 1.2.6
2018-10-17 13:39:38 +02:00
Patrik Nordwall
f907941c8a update to sbt 1.2.6
* due to https://github.com/sbt/zinc/pull/606
2018-10-17 12:01:02 +02:00
Patrik Nordwall
bf4a6c37b4
Merge pull request #25577 from akka/getAnonymousChildInboxByActorRef
BehaviorTestKit: get child inbox by anonymous ActorRef
2018-10-17 11:41:22 +02:00
Patrik Nordwall
ad3ad15747 Rename MutableBehavior to AbstractBehavior, #25750
* Also cleanup javadsl Receive, which is only used from AbstractBehavior
* Clarify further in docs that the functional vs OO style is a matter of taste
2018-10-17 08:53:37 +02:00
kerr
1b6d185f83 =plugin migrate FastClasspathScanner to ClassGraph (#25797) 2018-10-16 18:02:46 +01:00
Arnout Engelen
23b7f86a06
Async DNS over TCP (#25690) 2018-10-16 15:35:55 +02:00
Patrik Nordwall
d71ba251ed make java sample code independent of Scala (#25800)
* need this for gathering and compiling java sources (in IDE),
  https://github.com/patriknw/akka-compile-ide-java
2018-10-16 13:52:54 +01:00
J Evans
e7347ffee4 grammar nit (#25791) 2018-10-15 23:13:07 +02:00
Patrik Nordwall
b89a7e5df5 Use Props factory methods in getting started tutorial (#25713)
* Use Props factory methods in getting started tutorial

* deprecate Props.create without actorClass parameter, #25718
2018-10-15 17:12:41 +01:00
Arnout Engelen
4b012cc306 Document 'withBackoff' srouce/flow/sink (#25770) 2018-10-15 17:11:33 +01:00
Stephen Kitt
f4dd0ac79d Avoid incorrect OSGi dep on sslconfig.akka (#25580)
Importing com.typesafe.sslconfig.* with the sslconfig version results
in OSGi bundle imports which also include com.typesafe.sslconfig.akka,
which can’t be satisfied with the given version range. Splitting up
the imported packages (com.typesafe.sslconfig,
com.typesafe.sslconfig.ssl.*, com.typesafe.sslconfig.util.*) results
in tighter-scoped imports which can be satisfied.

This fixes #25579.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2018-10-15 15:41:00 +02:00
Mark Hammons
f32d6c5a68 Don't return Iterable(null) when Probe.fishForMessage times out (#25629)
* Fix for issue #25616

I haven't had a chance to test this, but it looks to me that this is the solution to issue #25616. 

My stacktrace in this issue is this: 
```
java.lang.NullPointerException
	at eu.phy_awaas.irods.typed.lockingsystem.IRODSLockManagerSpec.$anonfun$new$20(IRODSLockManagerSpec.scala:91)
	at akka.actor.testkit.typed.internal.TestProbeImpl.loop$1(TestProbeImpl.scala:189)
	at akka.actor.testkit.typed.internal.TestProbeImpl.loop$1(TestProbeImpl.scala:201)
	at akka.actor.testkit.typed.internal.TestProbeImpl.fishForMessage_internal(TestProbeImpl.scala:215)
	at akka.actor.testkit.typed.internal.TestProbeImpl.fishForMessage_internal(TestProbeImpl.scala:45)
	at akka.actor.testkit.typed.scaladsl.TestProbe.fishForMessage(TestProbe.scala:175)
	at akka.actor.testkit.typed.scaladsl.TestProbe.fishForMessage$(TestProbe.scala:174)
	at akka.actor.testkit.typed.internal.TestProbeImpl.fishForMessage(TestProbeImpl.scala:45)
	at akka.actor.testkit.typed.scaladsl.TestProbe.fishForMessage(TestProbe.scala:181)
	at akka.actor.testkit.typed.scaladsl.TestProbe.fishForMessage$(TestProbe.scala:180)
	at akka.actor.testkit.typed.internal.TestProbeImpl.fishForMessage(TestProbeImpl.scala:45)
	at eu.phy_awaas.irods.typed.lockingsystem.IRODSLockManagerSpec.$anonfun$new$18(IRODSLockManagerSpec.scala:88)
	at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
	at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
	at org.scalatest.Transformer.apply(Transformer.scala:22)
	at org.scalatest.Transformer.apply(Transformer.scala:20)
	at org.scalatest.WordSpecLike$$anon$1.apply(WordSpecLike.scala:1078)
	at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
	at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
	at org.scalatest.WordSpec.withFixture(WordSpec.scala:1881)
	at org.scalatest.WordSpecLike.invokeWithFixture$1(WordSpecLike.scala:1076)
	at org.scalatest.WordSpecLike.$anonfun$runTest$1(WordSpecLike.scala:1088)
	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
	at org.scalatest.WordSpecLike.runTest(WordSpecLike.scala:1088)
	at org.scalatest.WordSpecLike.runTest$(WordSpecLike.scala:1070)
	at org.scalatest.WordSpec.runTest(WordSpec.scala:1881)
	at org.scalatest.WordSpecLike.$anonfun$runTests$1(WordSpecLike.scala:1147)
	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:373)
	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:410)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:373)
	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:410)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379)
	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
	at org.scalatest.WordSpecLike.runTests(WordSpecLike.scala:1147)
	at org.scalatest.WordSpecLike.runTests$(WordSpecLike.scala:1146)
	at org.scalatest.WordSpec.runTests(WordSpec.scala:1881)
	at org.scalatest.Suite.run(Suite.scala:1147)
	at org.scalatest.Suite.run$(Suite.scala:1129)
	at org.scalatest.WordSpec.org$scalatest$WordSpecLike$$super$run(WordSpec.scala:1881)
	at org.scalatest.WordSpecLike.$anonfun$run$1(WordSpecLike.scala:1192)
	at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
	at org.scalatest.WordSpecLike.run(WordSpecLike.scala:1192)
	at org.scalatest.WordSpecLike.run$(WordSpecLike.scala:1190)
	at eu.phy_awaas.irods.typed.lockingsystem.IRODSLockManagerSpec.org$scalatest$BeforeAndAfterAll$$super$run(IRODSLockManagerSpec.scala:22)
	at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
	at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
	at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
	at eu.phy_awaas.irods.typed.lockingsystem.IRODSLockManagerSpec.run(IRODSLockManagerSpec.scala:22)
	at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
	at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13(Runner.scala:1340)
	at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13$adapted(Runner.scala:1334)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)
	at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24(Runner.scala:1031)
	at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24$adapted(Runner.scala:1010)
	at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)
	at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
	at org.scalatest.tools.Runner$.run(Runner.scala:850)
	at org.scalatest.tools.Runner.run(Runner.scala)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:131)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)
```

With the calling code looking like this:

```scala
        val lockResults =
          probe.fishForMessage(Duration.create(10000, "ms"))(l => {
            r += 1
            if (r < 5) {
              l.lock.use(())//crash happens here
              FishingOutcomes.continue
            } else {
              l.lock.use(())
              FishingOutcomes.complete
            }
          })
```

It's pretty obvious receiveOne(timeout) returns a null when it receives nothing before the timeout, passes that along to my fisher function, which tries to perform work on the supposed message only to get a null instead.

* Added missing brace

* Manually formatted my code the way akka likes

I don't have the set up to compile this right now, so I just manually inserted the formatting that jenkins mentioned.

* More changes to fit the akka formatting standard

* Test for the new assertion error when fishing times out.

* Cleaned up a flaw I added from when I initially put this in async spec
2018-10-15 14:02:58 +02:00
Patrik Nordwall
af240d77aa
Merge pull request #25744 from akka/dontWarnAboutOldProtocolUse
Don't warn about old DNS protocol use
2018-10-15 13:37:10 +02:00
Patrik Nordwall
1b8da91b45
Merge pull request #25625 from btomala/feature/25348_missing_serializers_for_shard_region
Protobuf serializers for ShardRegionStats
2018-10-15 13:30:42 +02:00
Renato Cavalcanti
8e0b9b58e2 fixed typo in DNS extension documentation (#25789) 2018-10-12 18:16:00 +01:00
Johan Andrén
d9a41f5e23
Java API checklist (#25762) 2018-10-12 13:06:42 +02:00
Prasanna J
1e883ced45 Modified iff statements from JavaDSL/Flow.scala (#25785) 2018-10-12 10:07:30 +02:00
Johan Andrén
b0de255d27 Docs for typed distributed data (#25747)
* Typed distributed data docs shaping up
2018-10-12 08:14:01 +01:00
Johan Andrén
0c608321b9 Max number of restarts for typed supervision backoff #25584 (#25772) 2018-10-12 08:06:46 +01:00
Ignasi Marimon-Clos
c4d975b015 Bumps ssl-config 0.3.6 2018-10-11 14:40:33 +02:00
Johan Andrén
ab545430e0 Cleanup typed test output (#25669)
* Cleanup ActorContextSpec output

* Default to not log dead letters and hide up to info level from tests

* Use log instead of println to benefit from config to silence

* The silence of the AdapterSpec

* Hushed the AskSpec

* Subdue the TimerSpec

* Muffled the FaultToleranceDocTest

* Remove the application.conf from the test in waiting for #25708
2018-10-11 13:34:28 +02:00
Patrik Nordwall
7b264e03d6
Merge pull request #25764 from dwijnand/ssl-config
Upgrade to ssl-config 0.3.5, from 0.3.4
2018-10-11 12:35:52 +02:00
kerr
138db54f6d update to sbt 1.2.4 (#25759) 2018-10-10 14:32:46 +02:00
Patrik Nordwall
63b7cc40cc
Merge pull request #25696 from akka/wip-PersistentBehavior-rename-patriknw
rename PersistentBehaviors.receive to PersistentBehavior.apply
2018-10-09 14:36:40 +02:00
Patrik Nordwall
d9af08757e rename PersistentBehaviors.receive to PersistentBehavior.apply 2018-10-09 13:47:22 +02:00
Dale Wijnand
41f1de5642
Upgrade to ssl-config 0.3.5, from 0.3.4
These are the additional binary API changes introduced:

    [error]  * class com.typesafe.sslconfig.ssl.FakeKeyStore is declared final in current version
    [error]    filter with: ProblemFilters.exclude[FinalClassProblem]("com.typesafe.sslconfig.ssl.FakeKeyStore")

    [error]  * method GeneratedKeyStore()java.lang.String in class com.typesafe.sslconfig.ssl.FakeKeyStore does not have a correspondent in current version
    [error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("com.typesafe.sslconfig.ssl.FakeKeyStore.GeneratedKeyStore")

    [error]  * method SignatureAlgorithmOID()sun.security.util.ObjectIdentifier in class com.typesafe.sslconfig.ssl.FakeKeyStore does not have a correspondent in current version
    [error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("com.typesafe.sslconfig.ssl.FakeKeyStore.SignatureAlgorithmOID")

    [error]  * method SignatureAlgorithmName()java.lang.String in class com.typesafe.sslconfig.ssl.FakeKeyStore does not have a correspondent in current version
    [error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("com.typesafe.sslconfig.ssl.FakeKeyStore.SignatureAlgorithmName")
2018-10-09 11:26:31 +01:00
mohammad mehdi
918cb72594 example for reduce operator #25468 2018-10-08 16:15:33 +02:00
Oliver Wickham
ef08bbd74b Fix doc links to cluster docker compose sample (#25756) 2018-10-08 15:33:46 +02:00
Christopher Batey
2045a0fbf7 Clarify supervision of singleton actors (#25681)
* Clarify supervision of singleton actors
* Document supervision for typed singletons
2018-10-08 14:42:18 +02:00
Dale Wijnand
bc7d77a801 Upgrade ssl-config from 0.2.4 to 0.3.4 (#25707) 2018-10-08 14:40:00 +02:00
Andrea Peruffo
8e2bfd01de [=doc] Fix Akka Typed fiddle (#25754) 2018-10-08 14:31:28 +02:00
Patrik Nordwall
e92e1b1bd0
Merge pull request #25743 from chbatey/aeron1-11
Upgrade to Aeron 1.11
2018-10-08 13:04:08 +02:00
Arnout Engelen
32c4554697 Don't warn about old DNS protocol use
We use the old DNS protocol ourselves, and the old implementation (which is
still the default) does not support the new protocol. For now the old protocol
is fine and works with both the default and the async impl.
2018-10-05 13:43:25 +02:00
Christopher Batey
403752ab65 Upgrade to Aeron 1.11 2018-10-05 10:32:56 +01:00