Akka 2.4 milestones, RC and final release ETAs?

235 views
Skip to first unread message

Guido Medina

unread,
Jun 13, 2015, 3:03:42 PM6/13/15
to akka...@googlegroups.com
Hi,

Just wondering what are the ETAs on Akka 2.4-M2, RCs and final?

Best regards,

Guido.

Guido Medina

unread,
Jun 13, 2015, 4:07:05 PM6/13/15
to akka...@googlegroups.com
Also, I would like to know what's the status of the new Akka remote using Akka I/O, I was trying to use the Netty 4 implementation from Hepin:

But I just realized it was deprecated in favor of the new Akka I/O.

Best regards,

Guido.

何品

unread,
Jun 15, 2015, 1:12:47 AM6/15/15
to akka...@googlegroups.com
I have build a new one via io extension,and maybe opensource when it is more complete.
the code there is deprecated.
and I will try to build the io extension via akka stream too.

```
import java.net.InetSocketAddress

import akka.actor.{ Actor, ActorLogging, Props }
import akka.io.IO
import qgame.akka.extension.netty.transport.tcp.Tcp
import qgame.akka.extension.netty.transport.{ Bind, Bound, Connected }

/**
* Created by kerr.
*/
class ServerActor extends Actor with ActorLogging {

override def receive: Receive = {
case Bound(address) =>
log.debug("bound :[{}]", address)
case Connected(remoteAddress, localAddress) =>
val connector = sender()
log.debug("connected,remote :[{}],local :[{}],connector :[{}]", remoteAddress, localAddress, connector)
context.actorOf(Props.create(classOf[ConnectionHandler], connector, remoteAddress, localAddress))

}

@throws[Exception](classOf[Exception])
override def preStart(): Unit = {
import context.system
val manager = IO(Tcp)
manager ! Bind(self, new InetSocketAddress(9000))
super.preStart()
}
}
```
在 2015年6月14日星期日 UTC+8上午4:07:05,Guido Medina写道:

Patrik Nordwall

unread,
Jun 15, 2015, 6:02:39 AM6/15/15
to akka...@googlegroups.com
2.4-M2 should be out this week or early next week.

We don't have an ETA of 2.4-RC yet, but we are working hard on making it happen as soon as possible. It might be possible in August, but I can't promise anything.

/Patrik

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.



--

Patrik Nordwall
Typesafe Reactive apps on the JVM
Twitter: @patriknw

Guido Medina

unread,
Jun 15, 2015, 6:15:16 AM6/15/15
to akka...@googlegroups.com
Hi Patrik,

Fair enough, I know there is lot of work to be done which makes it harder to estimate hence the question.

Do you happen to know anything about the Akka remote direction/status? AFAIK it is been replaced/rewritten with Akka I/O

Best regards,

Guido.

Patrik Nordwall

unread,
Jun 15, 2015, 6:20:13 AM6/15/15
to akka...@googlegroups.com
On Mon, Jun 15, 2015 at 12:15 PM, Guido Medina <oxy...@gmail.com> wrote:
Hi Patrik,

Fair enough, I know there is lot of work to be done which makes it harder to estimate hence the question.

Do you happen to know anything about the Akka remote direction/status? AFAIK it is been replaced/rewritten with Akka I/O

We would like to rewrite akka remoting internals with Akka I/O and Akka Streams, but that will not happen in 2.4.
/Patrik
 

Best regards,

Guido.


On Saturday, June 13, 2015 at 8:03:42 PM UTC+1, Guido Medina wrote:
Hi,

Just wondering what are the ETAs on Akka 2.4-M2, RCs and final?

Best regards,

Guido.

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Guido Medina

unread,
Jun 15, 2015, 6:51:06 AM6/15/15
to akka...@googlegroups.com
Hi Hepin,

Thanks for your response, what does that mean exactly?
Is it your extension going a workaround for Akka remote or are you actually talking about the new Akka remote?

Best regards,

Guido.

何品

unread,
Jun 15, 2015, 9:02:59 AM6/15/15
to akka...@googlegroups.com
Hi,the code on github is what we used in the last production,and the code is more like a POC,but we use it in production and works well.

after I knew that akka is going to implement the akka remoting via akka stream and akka io.I reimplement it and split it to akka-io-netty and then implement the transport based on the io extension.

in the new way I did not use the bootstrap and user event trigger and mainly implemented all the command what akka io tcp have,and I tried to implement the domain socket too. 
and it is more like an POC too,but we are using the new implement now.

as the akka remoting is going to using akka stream and the akka stream it's self is based on the akka io extension,so I think this would be the right direction.

one problem of the current SPI is that you don't know when to do a flush<write don't auto flush in netty4>,and you have to using a tick to do the flush or trigger a flush every time you do write akk writeAndFlush.And the current SPI is a little complicate too.


在 2015年6月15日星期一 UTC+8下午6:51:06,Guido Medina写道:

Guido Medina

unread,
Jun 15, 2015, 9:21:16 AM6/15/15
to akka...@googlegroups.com
Hi Hepin,

I explored a bit the code on github and noticed you don't have default setting for Netty server/client pools like Akka remote, are these also needed for Netty 4.1.x?
Are you more comfortable with Netty 4.1.X.Beta than 4.0.X.Final? I think the issues you might be facing are because you jumped 2 versions straight and I know API changed from 4.0.x to 4.1.x
I'm sure you are doing that for a good reason, Netty guys tend improve by a considerable factor the performance between versions.

Best regards,

Guido.

何品

unread,
Jun 17, 2015, 3:04:34 PM6/17/15
to akka...@googlegroups.com
I don't have a dedicated dispatcher for the proxy actor,and for the server and client side pools,in fact it's event loop group,a more nice one is using reflection,create it via provider,then you have all the control ,but I think the default one is good,and the code there,is not that good,more of a POC.

why Netty 4.1.x.beta? it's good,stable ,cause we just using the TCP side,check the GRPC-java.You know that,the Netty5 will be the final stable one.

I will update another version later,based on akka-io-netty,but I haven't do that cause I can't do an release via  https://github.com/softprops/bintray-sbt/,an issue here.

Another problem I occur is that I don't know how to make an automatic control via the the current remote SPI.
I just receive ByteStrings.If I want to improve the throughput ,I should not call the ```flush``` after every ```write```,But that will cause a problem,when some akka's cluster message will not flush out in time.But I may using an scheduler to keep it.

maybe akka have do the flow control on a higher level.

anyway I will figure out update with some code,so we,anyone interest could take a look.

I want using netty to implement the TCP,UDP,and Domain transport,and then implement the remote transport based on TCP,UDP,and Domain socket,and later the stream based one.

I am in a game company ,so busy ,so I just make things works first ,not that flexible,I will update later,stay turn.


何品

unread,
Jun 17, 2015, 3:13:51 PM6/17/15
to akka...@googlegroups.com
plus,I think it would be great that i could create a dispatcher from the eventloop,and using it for the actor creating,but currently it's impossible.

and for the flow control and thread usage,you could reuse the event loop ,control the register and deregister,control the read and write and change read mode between the pull or push.you could merge the write and do a final flush.

netty4 is really flexible.

notable change:
1,bytebuf scale
2,pooled bytebuf allocator
3,write do not automatic flush
4,could pause the accept
5,more flexible thread model
6,more simpler event
7,epoll based one(tcp,udp,domain)



何品

unread,
Jun 20, 2015, 3:36:00 AM6/20/15
to akka...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages