[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-11-01 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16965221#comment-16965221
 ] 

Noble Paul commented on SOLR-13841:
---


I have opened a PR with the new jackson {{AnnotationIntrospector}} 

https://github.com/apache/lucene-solr/pull/992

reviews welcome

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-11-01 Thread Ishan Chattopadhyaya (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16965150#comment-16965150
 ] 

Ishan Chattopadhyaya commented on SOLR-13841:
-

bq. Reverting this also means i'll have to move all the classes, I have created 
as part of Package APIs, to core. 
Ouch. We should better use JIRA linking (depends on / blocked by) to bring out 
these dependencies, esp. if all the issues in question are under development at 
the same time.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-11-01 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16965149#comment-16965149
 ] 

Noble Paul commented on SOLR-13841:
---

My plan was to implement Jackson's {{AnnotationIntrospector}} and change the 
JIRA description.

Reverting this also means i'll have to move all the classes, I have created as 
part of Package APIs, to core. 

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-11-01 Thread Ishan Chattopadhyaya (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16965013#comment-16965013
 ] 

Ishan Chattopadhyaya commented on SOLR-13841:
-

bq. At this juncture, I think the commits should be reverted and this issue 
closed as Won't-Fix.  File a new issue.
+1


> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-11-01 Thread David Smiley (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16964998#comment-16964998
 ] 

David Smiley commented on SOLR-13841:
-

At this juncture, I think the commits should be reverted and this issue closed 
as Won't-Fix.  File a new issue.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-28 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16960805#comment-16960805
 ] 

Noble Paul commented on SOLR-13841:
---

bq.Maybe we only need @JsonProperty right now?

Yeah, I shall just support an annotation equivalent to {{@JsonProperty}} and 
leave it at that.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-25 Thread David Smiley (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16959777#comment-16959777
 ] 

David Smiley commented on SOLR-13841:
-

Right, we don't want to double the classes, and so I don't think the mixin 
approach is right.  

I've not really used Jackson in depth but I looked around it's API and find 
it's rather extensible.  In particular the annotation based configuration is 
quite pluggable.  There's even a [JAXB annotation 
plugin|https://github.com/FasterXML/jackson-modules-base].  The point being, we 
can provide our own annotations, and plug in such a mechanism to Jackson.  From 
what I see, we would provide an implementation of Jackson's 
{{AnnotationIntrospector}}.  The one Jackon uses _for its own_ annotations is 
{{JacksonAnnotationIntrospector}} which is unfortunately rather long.  
Nonetheless I don't think we need to implement all of it, just the basics.  
We'd probably literally copy right out of Jackson's one but change the actual 
annotation references to our own -- pretty easy.  I'd further state we _should 
not_ try to implement the whole thing, for maintainability sake.  Maybe we only 
need {{@JsonProperty}} right now?

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-24 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16959360#comment-16959360
 ] 

Noble Paul commented on SOLR-13841:
---

I've spent some time to explore jackson mixins. 

what do we really need

{code:java}
class X{
@MyAnnotation("friendlyName1)
public String field1;
@MyAnnotation("friendlyName2)
public String field2;
}
{code}

we would like this to behave as if I have a class like this

{code:java}
class X{
@JsonProperty("friendlyName1)
public String field1;
@JsonProperty("friendlyName2)
public String field2;
}
{code}


But mixins would force me to write 2 classes for every class I write. This 
totally defeats the purpose
[~dsmiley]. So this is not what we really need

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16958485#comment-16958485
 ] 

Noble Paul commented on SOLR-13841:
---

[~dsmiley]

That looks like a great solution. I think we should go with that

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread David Smiley (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16958483#comment-16958483
 ] 

David Smiley commented on SOLR-13841:
-

[~noble.paul] did you see my question to you above on  
[https://github.com/FasterXML/jackson-docs/wiki/JacksonMixInAnnotations] ?  I 
observe that you propose here only adding Jackson annotations but not Jackson 
_itself_.   Is this because the code performing the serialization is inside 
Solr (which has access to Jackson) but some of the objects to be serialized are 
in SolrJ?  The link I shared offers a solution.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16958292#comment-16958292
 ] 

Noble Paul commented on SOLR-13841:
---

bq.I think we should use shaded Jackson in SolrJ.

 

I don't like the shaded jar idea b/c it may mean we have to shade almost all 
the jackson jars. (not  just the annotations ). This also means that on the 
serverside, if there are other libraries depending on jackson, they also need 
to be shaded or we will have to include 2 copies of jackson. 1 shaded and the 
other unshaded

 

bq., ...cause issues with serialization unless the other end of the 
communication is also using the same shaded library? 

 

well actually yes and no.

 

On the wire level, it all remains same . so deserialization and serialization 
are agnostic of who did it. But, the annotated classes cannot be the same. We 
will have to write 2 sets of classes 1 for client side/ 1 for server side.

 

My suggestion is to use some other library which is not so popular. So, the 
no:of users impacted will be much fewer

 

 

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread Shawn Heisey (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16958163#comment-16958163
 ] 

Shawn Heisey commented on SOLR-13841:
-

bq. I think we should use shaded Jackson in SolrJ.

Wouldn't a shaded dependency, since it changes the package and fully qualified 
class names, cause issues with serialization unless the other end of the 
communication is also using the same shaded library?  Maybe I'm wrong about how 
those things work and it won't cause problems.  The complexities involved with 
Java classes make my head hurt.

I still don't see the value of serializing Jackson objects in the communication 
between Solr and SolrJ.  Looking at the classes available in 
jackson-annotations, none of what I can see looks like it would be something 
somebody would WANT to transmit to/from a Solr client.  What's the concrete use 
case here?

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread Andrzej Bialecki (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16958145#comment-16958145
 ] 

Andrzej Bialecki commented on SOLR-13841:
-

+1. It's true that Jackson is very popular, but this means that many other 
projects already have a version of it in their classpath - however, it is also 
known to be subtly or not-so-subtly incompatible even between minor releases.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-23 Thread Ishan Chattopadhyaya (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16957717#comment-16957717
 ] 

Ishan Chattopadhyaya commented on SOLR-13841:
-

I think we should use shaded Jackson in SolrJ.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-21 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16956460#comment-16956460
 ] 

Noble Paul commented on SOLR-13841:
---

bq.It is my understanding that SolrJ uses NamedList for its internal 
representation. JSON might be the over-the-wire transport...

The strategy is as follows. 
* Start using Strongly typed objects for certain requests. 
* These objects will be serializable in JSIN as well as javabin (javabin will 
support all data types.JSON will support fewer)

NamedList is not a requirement at all

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-21 Thread Shawn Heisey (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16956430#comment-16956430
 ] 

Shawn Heisey commented on SOLR-13841:
-

bq. We would like to have Strongly typed POJO based upstream/downstream data 
from SolrJ. We should be able to use the same objects in Server/Client so as to 
avoid duplication of code.

It is my understanding that SolrJ uses NamedList for its internal 
representation.  JSON might be the over-the-wire transport (if the user changes 
it from javabin), but JSON itself, as far as I am aware, has a very limited 
number of data representations.

NamedList, even though it probably can work with any Java object type in 
conjunction with Javabin, probably should also be limited in practice like JSON 
to only basic and well-known Java types provided by the JVM itself.  Users 
might extend Solr to send their own arbitrary objects via Javabin, and expect 
to get them unchanged in their client applications, but I cannot think of 
anything to be gained for general uses by working with objects outside the 
basic ones provided by the JVM -- data that would be impossible to encode with 
XML or JSON as the wire transport, which we must also support until such time 
as we declare them unsupported, which I don't think is going to happen.

I had been imagining this ticket as bringing Jackson encoding/decoding for JSON 
to SolrJ, but apparently that's not the idea.


> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-21 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16956397#comment-16956397
 ] 

Noble Paul commented on SOLR-13841:
---

{quote} * Could you please be more specific within the SolrJ codebase as to 
what classes would benefit{quote}
We would like to have Strongly typed POJO based upstream/downstream data from 
SolrJ. We should be able to use the same objects in Server/Client so as to 
avoid duplication of code. 
 The same objects can be used by users of SolrJ to serialize their data 
downstream

So we will have to decide what JSON framework to use the options are
 * Use an existing library
 * Use a shaded version of an existing library
 * Roll your own

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-21 Thread Shawn Heisey (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16956166#comment-16956166
 ] 

Shawn Heisey commented on SOLR-13841:
-

Jackson is already included in Solr (the server side).  In the webapp for 
version 8.2.0, you can find three jackson jars, including jackson-annotations.

I found that we have some jar duplication.  The lib directory for the 
prometheus-exporter contrib contains three jackson jars which are already 
included in Solr.  It also contains log4j jars.  The lib directory for the 
clustering contrib contains two jackson jars.

If we do this right, we can make the Solr download a few megabytes smaller.  
Assuming I understand how everything fits together, we would remove the 
jackson-annotations dependency from solr-core, all jackson dependencies from 
clustering, and all jackson dependencies except jackson-jq from 
prometheus-exporter.  Then we would add jackson-annotations to solrj.

I checked the script for starting the prometheus exporter as a separate 
process, and it includes Solr's WEB-INF/lib directory, so the jackson jars are 
already available without needing to put them in the contrib lib directory.  If 
the jetty lib/ext directory is added to the classpath in the scripts, then we 
can also remove the log4j jars from the prometheus-exporter module ... although 
we might want to tackle that in a separate issue.  I do not know whether we can 
remove slf4j-api from the prometheus-exporter module ... I guess that depends 
on whether the module can be used without the rest of Solr like SolrJ can.  My 
guess is that it can't be used in this way and that we can remove slf4j-api.


> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-21 Thread David Smiley (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16956071#comment-16956071
 ] 

David Smiley commented on SOLR-13841:
-

Could you please be more specific within the SolrJ codebase as to what classes 
would benefit / how?  Would this be purely internal (I suppose it would).  
Might this be an alternative?: 
https://github.com/FasterXML/jackson-docs/wiki/JacksonMixInAnnotations 

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-20 Thread Noble Paul (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16955752#comment-16955752
 ] 

Noble Paul commented on SOLR-13841:
---

We should use this to write V2 APIs. It's possible to just have this on the 
server side . But we would like to reuse these objects in SolrJ as well. It's 
hard to justify using a different set of annotations for json serialization 
when Jackson is so popular

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-20 Thread David Smiley (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16955747#comment-16955747
 ] 

David Smiley commented on SOLR-13841:
-

Raise this specifically on the dev list.  SolrJ's dependencies should get wide 
peer review.

Can you share an example of how this is going to help?

Jackson's popularity is, IMO, exactly a reason to avoid using it in SolrJ as 
it's liable to conflict.  That said, I wonder what others think.

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-19 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16955322#comment-16955322
 ] 

ASF subversion and git services commented on SOLR-13841:


Commit 831f90fa36c7b0390768443649259a105ef1ef89 in lucene-solr's branch 
refs/heads/master from Noble Paul
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=831f90f ]

SOLR-13841: Add jackson databind annotations to SolrJ classpath

SOLR-13841: Add jackson databind annotations to SolrJ classpath

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-19 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16955321#comment-16955321
 ] 

ASF subversion and git services commented on SOLR-13841:


Commit 831f90fa36c7b0390768443649259a105ef1ef89 in lucene-solr's branch 
refs/heads/master from Noble Paul
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=831f90f ]

SOLR-13841: Add jackson databind annotations to SolrJ classpath

SOLR-13841: Add jackson databind annotations to SolrJ classpath

> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org



[jira] [Commented] (SOLR-13841) Add jackson databind annotations to SolrJ classpath

2019-10-13 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-13841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16950660#comment-16950660
 ] 

ASF subversion and git services commented on SOLR-13841:


Commit 89d86730cc0f28d121b63e7bf7d35566f0cfb1b6 in lucene-solr's branch 
refs/heads/jira/SOLR-13841 from Noble Paul
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=89d8673 ]

SOLR-13841: Add jackson databind annotations to SolrJ classpath


> Add jackson databind annotations to SolrJ classpath
> ---
>
> Key: SOLR-13841
> URL: https://issues.apache.org/jira/browse/SOLR-13841
> Project: Solr
>  Issue Type: Task
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Noble Paul
>Assignee: Noble Paul
>Priority: Major
>
> We can start using annotations in SolrJ to minimize the amount of code we 
> write & improve readability. Jackson is a widely used library and everyone is 
> already familiar with it



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org