Re: [PROPOSAL] backport fix for GEODE-8574 to 1.13.1

2020-10-09 Thread Joris Melchior
+1

On 2020-10-08, 10:51 AM, "Jinmei Liao"  wrote:

I would like to include the fix for GEODE-8574 to 1.13.1, it would greatly 
help the Geode on k8s experience.

Thanks!

Jinmei



Re: [DISCUSS] Supported filename convention for Deploy Jars functionality

2020-10-09 Thread Dan Smith
I also don't see a pressing need for a breaking change here. It's unlikely the 
current behavior is going to cause any problems for users with "standard" jar 
file names. On the other hand, having failures or new, weird classpath issues 
on upgrade for users with non-standard jar names doesn't seem like a good UX.

I do like the idea of moving forward to a better way of specifying artifact 
names and versions than parsing a file name. Maybe jigsaw module names, or 
maybe supporting deploying a maven artifact (and its dependences??).

-Dan

From: Owen Nichols 
Sent: Wednesday, October 7, 2020 7:24 PM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] Supported filename convention for Deploy Jars 
functionality

I do not feel that we need to restrict the names of jar files that users may 
deploy.  GEODE-7436 does the most reasonable thing in the vast majority of 
cases, but a user is always free to override the default logic, either by 
manually un-deploying some existing jar before deploying a new one, or renaming 
one of them if they truly require both of two lookalike jars deployed 
simultaneously.  This is consistent with the ideal of making simple things 
easy, but hard things possible.

I fail to see a problem here that rises to the level of justifying "breaking 
changes" with "no transition ability".

@Udo, the work you are citing in conjunction with this appears to be related to 
classloader changes.  Can you clarify whether your proposed restrictions on jar 
names are essential to implement your classloader changes, or just an unrelated 
thing you happened to notice in the course of that work?

On 10/7/20, 4:45 PM, "Udo Kohlmeyer"  wrote:

@Owen, not sure if I'd use "harmless". I'd use "unlikely", rather than 
"harmless", as it can still have harmful consequences.

I think the "intuitive" nature of the versioning means we have to have a 
standard jar file format, so that the system can intuitively understand that 
"some-jar-0.2" is the update to "some-jar-0.1". There HAS to be some form of 
format for the auto-version-update to work, otherwise one could never compare.

Maybe I'm just trying to be more explicit. That way, any implementation of 
the "deploy jar" functionality can rely on a single fact, that the jar files 
will be in a known format.

The alternative is maven-like in behavior... then we don't have to deal 
with explicit file formats. When a jar is deployed, the feature behaves more 
maven-like, and "artifact name", "version" and file path is required. That way, 
the jar file does not ever have to meet the required format. All information 
required has been provided by the user. Removes the false-positives that could 
be introduced.

As there is no public API here, the only change we would have to deal with 
is the gfsh scripting, which I assume is not so horrible.

Anyway.. just thoughts..

--Udo

On 10/8/20, 9:57 AM, "Owen Nichols"  wrote:

The goal of the GEODE-7436 change is that when user deploys 
some-jar-0.1, then later deploys some-jar-0.2, we will do the intuitive thing 
and treat it as an update.  In Geode 1.11 and earlier, we instead wound up with 
*both* deployed, which is bad!

In the weird example below of spark-network-common_2.11-2.3.1.jar, it 
is harmless that we stem it as spark-network-common_2 (*if* for some very crazy 
reason a user NEEDS both spark-network-common_2.11-0.0.0.jar and 
spark-network-common_2.12-0.0.0.jar deployed side-by-side, they can simply 
rename the jar to something more sane)

On 10/7/20, 3:45 PM, "Anthony Baker"  wrote:

Given the wide variety of filenames possible do we even need a 
classification scheme?  IOW, why not just take what the user gives us and say 
thank you :-).  Is this restriction imposed by our *implementation* choices?

Anthony


> On Oct 7, 2020, at 3:24 PM, Jinmei Liao  wrote:
>
> Wait, that reason doesn't make much sense either. Dale/Darrel, do 
you remember why we did what we did?
>
> On 10/7/20, 3:12 PM, "Jinmei Liao"  wrote:
>
>I believe we did this for a reason, can't remember exactly 
what though. Most probably drive by user's existing filenames. I believe we are 
probably concerned that user's jar name might contain "_" or "-" themselves, 
like common-logging.jar etc. So we had to resort to finding the first "." 
followed by a digit to determine where the version pattern begins.
>
>On 10/7/20, 1:44 PM, "Udo Kohlmeyer"  wrote:
>
>Hi there Geode Dev List,
>
>Whilst doing work on 
GEODE-8466