Commit graph

82 commits

Author SHA1 Message Date
kenji yoshida
aebfda540d =doc fix double 'the' in some docs (#21881) 2016-11-22 02:14:37 +01:00
Endre Sándor Varga
bf5b607739 Serialization for system messages, RemoteWatcher and ByteString 2016-09-28 16:26:33 +02:00
Patrik Nordwall
e61ffd1132 protobuf serialization of Status.Succes, Status.Failure, #21202 (#21565)
* also support for serialization of exceptions, see
  comment in reference.conf

* extract Throwable and Payload methods to helper classes

* add security checks before creating instance from class name
2016-09-28 11:14:33 +02:00
Johan Andrén
8ae0c9a888 Use long uid in artery remoting and cluster #20644 2016-09-26 15:34:59 +02:00
Martynas Mickevičius
08670ca155 Add non-local recipient check when handling HandshaleReq (#21497) 2016-09-20 13:23:50 +02:00
Patrik Nordwall
76c23a7880 fix many bugs in InboundCompressions, #21464
* comprehensive integration test that revealed many bugs
* confirmations of manifests were wrong, at two places
* using wrong tables when system is restarted, including
  originUid in the tables with checks when receiving advertisments
* close (stop scheduling) of advertisments when new incarnation,
  quarantine, or restart
* cleanup how deadLetters ref was treated, and made it more robust
* make Decoder tolerant to decompression failures, can happen in
  case of system restart before handshake completed
* give up resending advertisment after a few attempts without confirmation,
  to avoid keeping outbound association open to possible dead system
* don't advertise new table when no inbound messages,
  to avoid keeping outbound association open to possible dead system
* HeaderBuilder could use manifest field from previous message, added
  resetMessageFields
* No compression for ArteryMessage, e.g. handshake messages must go
  through without depending on compression tables being in sync
* improve debug logging, including originUid
2016-09-19 11:37:44 +02:00
Łukasz Dubiel
211537f485 =art Count min sketch benchmark and performance improvments. (#21037) 2016-09-13 10:48:37 +02:00
Endre Sándor Varga
0d77034adc 20623 Make sure external (mapped) resources are properly cleaned on shutdown 2016-09-09 14:29:04 +02:00
Johannes Rudolph
529b10a9f8 =rem #21202 a first set of protobuf serializations for artery messages (#21380) 2016-09-08 17:58:25 +02:00
Patrik Nordwall
ccb5d1ba04 Merge branch 'master' into wip-sync-2.4.8-artery-patriknw 2016-07-08 15:38:33 +02:00
Konrad Malawski
d1015c1dc6 Compression tables properly *used* for Outgoing Compression (#20874)
* =art now correctly compresses and 2 table mode working
* =art AGRESSIVELY optimising hashing, not convienved about correctness yet
* fix HandshakeShouldDropCompressionTableSpec
2016-07-04 16:48:11 +02:00
Konrad Malawski
d99274a51f =art #20455 compression tables advertised as a whole "2 tables mode" (#20863)
Squashed commit of the following:

commit 6dc45364eb285338885bc8a5f1c4f293a29a53fb
Author: Konrad Malawski <konrad.malawski@project13.pl>
Date:   Fri Jun 24 19:03:58 2016 +0200

    =art moved successfuly to 2 table mode
    envelope format prepared, versioned tables

    2 table mode working

commit 517723c5d61969988a9a93b99666824bf5bccb52
Author: Konrad Malawski <konrad.malawski@project13.pl>
Date:   Fri Jun 24 10:28:02 2016 +0200

    WIP

commit 3e05a733e087e0d5bd8df9cc4fff0d4bc1314ec8
Author: Konrad Malawski <konrad.malawski@project13.pl>
Date:   Wed May 18 02:28:12 2016 +0200

commit b51f1766a94b202cd42fcc9d5402327ad0800d2d
Author: Konrad Malawski <konrad.malawski@project13.pl>
Date:   Thu Apr 28 10:56:58 2016 +0200

    +art #20455 HeavyHitters and CountMinSketch prepared for Compression
2016-07-01 11:54:57 +02:00
Konrad Malawski
e818887bb2 +art #20455 HeavyHitters, CountMinSketch => ActorRef Compression
* +art #20455 HeavyHitters and CountMinSketch prepared for Compression

* +art #20455 compression tables and integration specs
2016-06-23 11:58:54 +02:00
Felix Satyaputra
4d9268214d +rem Support serialization of scala Some and None (#20801) 2016-06-19 17:55:10 +02:00
Patrik Nordwall
76b29a35e0 log Aeron errors, #20317 2016-05-18 13:54:36 +02:00
Patrik Nordwall
e36a13d48a Merge pull request #20517 from akka/wip-20313-handshake-incarnations-patriknw
handshake and quarantine, #20313
2016-05-18 10:36:08 +02:00
Patrik Nordwall
67325da722 init new handshake for unknown origin, receiver restarted, #20313
* handle UID incarnations, shared association state that can be swapped
  for new handshakes
* detect that message comes from unknown origin and then initiate new
  handshake (handled by InboundHandshake stage)
* simplify the OutboundHandshake stage
  * doesn't have to listen for HandshakeRsp replies, it can just listen
    to when the uniqueRemoteAddress future is completed, InboundHandshake
    stage completes the handshake when it receives HandshakeRsp
  * send the HandshakeReq via the control message ingress, instead of
    pushing it downstreams, than also means that HandshakeReq is only sent
    on the control stream, which is good
* materialization race condition
2016-05-18 08:01:46 +02:00
Felix Satyaputra
c4aec5e8a2 Support Protobuf serialization/deserialization of akka.actor.Identify and akka.actor.ActorIdentity (#20380)
This is to ensure Akka Cluster Client will work with Java Serialization turned off.

However for the sake of backward compatibility, the protobuf serialization for `akka.actor.Identify`
and `akka.actor.ActorIdentity` is turned off.
2016-04-28 15:33:59 +02:00
Roland Kuhn
c3ecb87a65 =all #13783 replace protobuf dependency by embedded version
- created new subproject akka-protobuf (and added COPYING and LICENSE)
- renamed com.google.protobuf -> akka.protobuf everywhere
- also added such renaming step to the results of protoc compilation in
  project/Protobuf.scala
- had to include transcriptions of Netty’s ProtobufEncoder/Decoder to
  make multi-node-testkit compile again
2015-09-04 09:06:50 +02:00
Patrik Nordwall
0fd9198f5d +act #13992 Improve identify replies of wildcard selections
(cherry picked from commit 4747b18d66fafb5699168288b09b7f39da5c2e4e)

Conflicts:
	akka-actor/src/main/scala/akka/actor/ActorSelection.scala
	project/AkkaBuild.scala
2014-06-23 12:19:03 +02:00
Björn Antonsson
2876460dcb !rem, clu, mul #3154 Upgrade protobuf to 2.5.0 and add an SBT task
* Added an SBT task to compile protobuf files with protoc
* Upgraded protobuf to 2.5.0 which is the current stable
2013-09-12 11:20:25 +02:00
Endre Sándor Varga
e6e5be859b Fixes for leaked connection
- Also introduces reason in the Disassociate message
 - Reliable delivery now transitions from idle to active if there are pending system msgs
 - Minor fix in merging receive buffers (reduces resends)
 - Tweaked WireFormat
 - Removed busy-wait in startup
 - throwing the proper exception type in EndpointReader
 - InvalidAssociationException extends NoStackTrace
2013-06-20 17:28:26 +02:00
Endre Sándor Varga
dbac4808f7 Added proper serialization for messages sent via ActorSelection #3271 2013-04-30 13:13:30 +02:00
Endre Sándor Varga
2b0a27be9e Added acknowledged delivery of system messages 2013-04-18 16:10:20 +02:00
Roland
28aad82b1a deprecate closure-taking Props factories, see #3081
- base Props on Deploy, Class and Seq[Any] (i.e. constructor args)
- remove deprecated Props usage from akka-docs sample code
- rewrite UntypedActorDocTestBase
- rewrite Java/Scala doc section on actor creation
- add migration guide entry
2013-04-16 12:48:31 +02:00
Patrik Nordwall
ae0cb4a756 Add dispatcher to deployment config, see #2839 2013-04-08 09:52:56 +02:00
Endre Sándor Varga
d03d98b6ab Removed cross layer dependencies
- akka protocol treats upper layer messages as raw bytes now
 - deserialization for received messages no longer use localAddressForRemote
2012-11-21 15:58:01 +01:00
Endre Sándor Varga
5f9253b79e New Remoting implementation (iteration 3) #2053
- Asynchronous lockless remoting
 - Pluggable transport drivers
 - Multiple transport support
 - Simplified lifecycle events
 - Support for netty based TCP, SSL+TCP and UDP support
 - Updated Akka protocol with soft-state connections and failure detection
 - Refactored failure detectors (currently duplicated from cluster)
2012-10-29 16:32:15 +01:00
Viktor Klang
46c9cf41cd Review cleanup 2012-06-05 11:38:41 +02:00
Viktor Klang
e3e391e5aa Removing DaemonMsgWatch, oh yeah baby. However, still no cigar 2012-05-29 14:14:06 +02:00
Patrik Nordwall
a98827c150 unb0rkening the akka-docs 2012-05-21 14:35:23 +02:00
Patrik Nordwall
31ace9e83f Optimize remote serialization for the create from class case. See #1755
* Added FromClassCreator as special Function0 to be able to serialize
  class name as protobuf string
2012-05-15 18:22:40 +02:00
Patrik Nordwall
6dd017d6c1 Replace Java serialization of DaemonMsg by protobuf. See #1755
* Serializers for DaemonMsgCreate and DaemonMsgWatch
* Protobuf for DaemonMsgCreateProtocol, PropsProtocol,
  DeployProtocol, DaemonMsgWatchProtocol
* Removed unused MailboxProtocol.proto
* Fixed wrong serializeActorRef in DurableMessageSerialization
2012-05-15 10:50:05 +02:00
Viktor Klang
ca0d400a3a unb0rkening the akka-docs 2012-05-07 18:02:42 +02:00
Viktor Klang
94552a732f Removing legacy messages from the remote protocol 2012-05-07 17:41:54 +02:00
Viktor Klang
9421f37f96 Ripping out ReadTimeout and adding Idle timeout and fixing issues with configured port on top of that 2012-02-01 16:06:30 +01:00
Viktor Klang
7108a54f22 Unborking docs, ScalaDoc.... 2011-12-30 22:44:52 +01:00
Viktor Klang
cffe60bf43 Closing #1584 and #1585 2011-12-30 14:15:26 +01:00
Roland
5e0ed18056 Remote DeathWatch (1): daemon communication 2011-12-26 18:23:55 +01:00
Roland
c16fcebc21 fix docs generation 2011-12-13 17:53:59 +01:00
Roland
e5bd8b5f88 make remote supervision and path continuation work
- add supervisor to remote USE message
- make remoteDaemon a VirtualPathContainer like
  LocalActorRefProvider.tempContainer (i.e. synchonous with CHM-based
  child lookup), scrap remoteDaemonSupervisor and rename remoteDaemon to
  “/remote” to match the plans in the docs
- comment out the remote deployment configuration section, to be done
  when Henrik is finished with RoutedActorRef work
- for now only “remote.nodes = ["sys@host:port"]” is looked at, i.e. if
  at least one is present, the first one is used to determine where to
  deploy the currently created child (routers will do the scaling-out
  component) [rest is commented out]
- multi-jvm tests not yet re-enabled (need to be adapted), but all other
  tests are GREEN (at least on my machine)
2011-12-09 00:02:27 +01:00
Roland
fac840adfc make remote lookup work
- create RemoteActorRef in actorFor
- simplify send/receive because Futures/Exceptions do not go over the
  wire anymore
- add RemoteCommunicationSpec which uses two ActorSystems communicating
  in the same JVM via TCP socket
2011-12-08 14:44:05 +01:00
Roland
6b9cdc5f65 fix ActorRef serialization
- represent it by SerializedActorRef(path), i.e. only a “tagged” string
- remove serialize/deserialize from ActorRefProvider interface
- adapt test since deadLetters is returned when nothing found instead of
  exception
- multi-jvm tests are still broken, but that is due to look-up of remote
  actors, which I have just not done yet
2011-12-01 14:31:02 +01:00
Peter Vlugter
7b8a865c00 Rename address to name or path where appropriate
- TypedActor: address -> name
- TestActorRef, TestFSMRef: address -> name
- Props.randomAddress -> randomName
- Remote protocol: address -> name
- Address.validate moved to ActorPath
2011-11-10 12:19:07 +01:00
Viktor Klang
3021baa3e4 Fixing the BuilderParents generated by protobuf with FQN and fixing @returns => @return 2011-11-08 19:10:07 +01:00
Viktor Klang
e958987e5b Switching to AddressProtocol for the remote origin address 2011-11-03 19:32:53 +01:00
Viktor Klang
37ba03eadb Adding initial support in the protocol to get the public host/port of the connecting remote server 2011-11-03 18:33:57 +01:00
Viktor Klang
a040a0c54d Profit! Removing Uuids from ActorCells and ActorRefs and essentially replacing the remoting with a new implementation. 2011-11-03 14:53:38 +01:00
Jonas Bonér
9bf9cea0d9 Removed trailing whitespace 2011-10-28 15:55:47 +02:00
Peter Vlugter
52595f3692 Fix the scaladoc generation again so that nightlies work 2011-10-21 10:19:04 +02:00