I generally like the idea of supporting thin JDBC clients. Often it is not
feasible to start a client node on JDBC side.

On Fri, Feb 10, 2017 at 1:04 PM, Valentin Kulichenko <
valentin.kuliche...@gmail.com> wrote:

> Yakov,
>
> There are two separate aspects that we can improve:
>
> 1. Message routing as you described. I agree it can be useful in some
> scenarios and I definitely not against this feature, but honestly I haven't
> seen a lot of requests for this so far.
> 2. Server can initiate connection with client. This really blows users's
> minds :)
>
> I only meant that the latter is much more critical in my view. Configuring
> port forwarding on the cluster can be complicated, but it absolutely makes
> sense, while doing the same on client just sounds crazy. Client should be
> able to just connect, without having public IP and without additional
> configuration on the router.
>
> -Val
>
> On Fri, Feb 10, 2017 at 1:58 AM, Yakov Zhdanov <yzhda...@apache.org>
> wrote:
>
> > Val, can you please explain your statement. You suggest users have port
> > forwarding for dozens of nodes in their topologies so client can initiate
> > connect to any of them? I don't think this is possible and routing seems
> to
> > be the only possible option.
> >
> > --Yakov
> >
> > 2017-02-10 0:04 GMT+03:00 Valentin Kulichenko <
> > valentin.kuliche...@gmail.com
> > >:
> >
> > > Yakov,
> > >
> > > 1. Yes, I will file a ticket.
> > >
> > > 4. I meant that server can currently initiate connection with client,
> and
> > > that's the main problem here. Is there a way to avoid this? Message
> > routing
> > > you're referring to can also be useful in some cases, but much less
> > > critical.
> > >
> > > -Val
> > >
> > > On Wed, Feb 8, 2017 at 9:20 PM, Yakov Zhdanov <yzhda...@gridgain.com>
> > > wrote:
> > >
> > > > Val,
> > > >
> > > > 1. Our clients should stop require persistent store implementation if
> > > they
> > > > do not need it. Can you please file a ticket? I know you fixed some
> > > places
> > > > already. As an idea I would keep everything in binary format until we
> > > > really need it. Will that work?
> > > > 2. We can try adding the very first step to fetch the configuration
> and
> > > > then proceed with normal start.
> > > > https://issues.apache.org/jira/browse/IGNITE-4675
> > > > 3. Agree, but user needs to define the closures then. I would think
> on
> > > how
> > > > to put this to a product.
> > > > 4. This needs to be implemented :) I mean we can communicate to a
> > client
> > > > through server it is connected to.
> > > >
> > > > Thanks!
> > > > --
> > > > Yakov Zhdanov, Director R&D
> > > > *GridGain Systems*
> > > > www.gridgain.com
> > > >
> > > > 2017-02-09 5:19 GMT+07:00 Valentin Kulichenko <
> > > > valentin.kuliche...@gmail.com
> > > > >:
> > > >
> > > > > Yakov,
> > > > >
> > > > > I agree that investing in the legacy client doesn't make sense -
> it's
> > > > slow
> > > > > and outdated. Regarding your points:
> > > > >
> > > > > 1. This is just another build step, but the JAR is going to pretty
> > fat
> > > I
> > > > > think (it will have to include Spring). Not ideal, but definitely
> > > better
> > > > > than what we have now. However, our clients also often require some
> > > user
> > > > > classes, like CacheStore implementations. This is also a problem.
> > > > >
> > > > > 2. That's a great idea! Actually, I'm not sure why we require to
> have
> > > > full
> > > > > verbose config on client that is consistent with server. Why not
> > fetch
> > > > the
> > > > > configuration from cluster during join? Not sure how hard this
> change
> > > is,
> > > > > but it can be a very big usability improvement. And surely, JDBC
> > driver
> > > > > should be able to config with host:port without config file.
> > > > >
> > > > > 3. This can be already achieved with Compute Grid, no? I don't
> think
> > we
> > > > > need to add anything here.
> > > > >
> > > > > Another issue with clients is that they currently can't work behind
> > NAT
> > > > > without additional config which is not very trivial
> > (AddressResolver).
> > > Is
> > > > > it possible to avoid server->client connections in communication
> SPI?
> > > > >
> > > > > -Val
> > > > >
> > > > > On Tue, Feb 7, 2017 at 9:09 PM, Yakov Zhdanov <yzhda...@apache.org
> >
> > > > wrote:
> > > > >
> > > > > > "undeprecating" - lol :D
> > > > > > Consider introducing @Un annotation which negates all annotations
> > on
> > > > the
> > > > > > same level and below.
> > > > > >
> > > > > > I would probably agree with Val and Vova, but adding features to
> > > > > > thin-client seems questionable to me.
> > > > > >
> > > > > > Is these possible:
> > > > > > 1. avoid dependencies on client machine and require
> ignite-jdbc.jar
> > > > only
> > > > > > (e.g. gathering dependencies inside the jar).
> > > > > > 2. make it possible to provide just address and port to send join
> > > > request
> > > > > > to without providing the entire IgniteConfiguration. Client node
> > > sends
> > > > > join
> > > > > > request to the cluster with flag that this is jdbc-driver
> > connection
> > > > and
> > > > > > server-side topology omits configuration validation and forces
> > client
> > > > to
> > > > > > set some properties if this is necessary (e.g. CommunicationSpi
> > > > > > implementation class and settings)
> > > > > > 3. add possibility to offload complex reduce processing to
> server.
> > > > Which
> > > > > > may be very helpful for main client-server use cases when clients
> > > being
> > > > > run
> > > > > > on much weaker machines.
> > > > > >
> > > > > > ?
> > > > > >
> > > > > > --Yakov
> > > > > >
> > > > > > 2017-02-07 14:30 GMT+07:00 Vladimir Ozerov <voze...@gridgain.com
> >:
> > > > > >
> > > > > > > Big +1 to Val, not only about JDBC, but about our overall
> > approach
> > > to
> > > > > > > clients. Starting a node with "client=true" is:
> > > > > > > + Very reach feature set, which is cool
> > > > > > > - Tons of dependencies
> > > > > > > - Tons of threads
> > > > > > >
> > > > > > > It would be very cool if we have a true thin client with small
> > > single
> > > > > > JAR.
> > > > > > > It should have:
> > > > > > > - Failover
> > > > > > > - Load-balance
> > > > > > > - Optional server "stickyness"
> > > > > > >
> > > > > > > Once all these things are in place we will be able to provide
> the
> > > > same
> > > > > > API
> > > > > > > as in current client, but with predictable behavior and memory
> > > > > footprint.
> > > > > > > For instance our current client is not well-suited for running
> > > > > map-reduce
> > > > > > > (compute or SQL) because it moves large amount of data and
> > > processing
> > > > > to
> > > > > > > the client, which is potentially a slow desktop machine.
> > > > > > >
> > > > > > >
> > > > > > > On Tue, Feb 7, 2017 at 3:44 AM, Valentin Kulichenko <
> > > > > > > valentin.kuliche...@gmail.com> wrote:
> > > > > > >
> > > > > > > > There are two implementations of JDBC driver - based on
> legacy
> > > thin
> > > > > > > client
> > > > > > > > (jdbc package) and on client node (jdbc2). The first one was
> > > > > deprecated
> > > > > > > > when we introduced the latter, but now I tend to think that
> > this
> > > > was
> > > > > > not
> > > > > > > a
> > > > > > > > right decision. Thin client driver provides worse
> performance,
> > > but
> > > > > it's
> > > > > > > > much easier to use, never requires additional dependencies
> like
> > > > > Spring
> > > > > > > and
> > > > > > > > can be used from any remote machine. Probably we can consider
> > > > > > > undeprecating
> > > > > > > > it.
> > > > > > > >
> > > > > > > > -Val
> > > > > > > >
> > > > > > > > On Mon, Feb 6, 2017 at 2:02 AM, Sergi Vladykin <
> > > > > > sergi.vlady...@gmail.com
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Guys,
> > > > > > > > >
> > > > > > > > > We have 2 different packages: jdbc and jdbc2. Everything in
> > > jdbc
> > > > is
> > > > > > > > > deprecated. Because of that new features like DML support
> > were
> > > > not
> > > > > > > added
> > > > > > > > > there.
> > > > > > > > >
> > > > > > > > > This seems to cause some problems to our users. Can someone
> > > > > clarify,
> > > > > > > did
> > > > > > > > we
> > > > > > > > > deprecated these classes wrongly and we have to continue
> > > > developing
> > > > > > > them
> > > > > > > > or
> > > > > > > > > what?
> > > > > > > > >
> > > > > > > > > Sergi
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to