[hibernate-issues] [JIRA] (HSEARCH-3855) Improve formatting of logged indexing processors and reindexing resolvers
Yoann Rodière (JIRA)
jira at hibernate.atlassian.net
Thu Mar 5 04:36:22 EST 2020
Yoann Rodière ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A58fa1ced-171a-4c00-97e8-5d70d442cc4b ) *created* an issue
Hibernate Search ( https://hibernate.atlassian.net/browse/HSEARCH?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 ) / Task ( https://hibernate.atlassian.net/browse/HSEARCH-3855?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 ) HSEARCH-3855 ( https://hibernate.atlassian.net/browse/HSEARCH-3855?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 ) Improve formatting of logged indexing processors and reindexing resolvers ( https://hibernate.atlassian.net/browse/HSEARCH-3855?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 )
Issue Type: Task Assignee: Unassigned Created: 05/Mar/2020 01:36 AM Fix Versions: 6.0.0.Beta-backlog-low-priority Priority: Minor Reporter: Yoann Rodière ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A58fa1ced-171a-4c00-97e8-5d70d442cc4b )
There are multiple problems:
* The format, inspired from JSON, is not very human-readable. Something similar to YAML would be better.
* The node types are mentioned in a "class" attribute, but wouldn't just prepending them before the "{" be better? E.g. "myType { ... }
" instead of "
{class = myType, ...}
"
* The node types, in the "class" attributes, are very technical and verbose, such as PojoIndexingProcessorPropertyNode (just "property" would be enough).
* Some types included in the tree don't have a toString() method: MappedIndexManagerImpl , RoutingKeyProvider$$Lambda$578/1859227008 , SimpleBeanHolder , PropertyIdentifierMapping , ...
* Some types included in the tree are much too verbose in their toString() method. For example LuceneIndexSchemaFieldNode includes the whole parent while it should only include the parent path, and includes the various predicate/sort/projection factories which are not necessary (and they don't have a toString() method anyway).
* And maybe more: let's have a closer look.
Example:
10:25:50,474 (main) DEBUG PojoIndexedTypeManagerBuilder:140 - HSEARCH700017: Created POJO indexed type manager: {
typeIdentifier=org.hibernate.search.integrationtest.showcase.library.model.Library
indexManager=org.hibernate.search.engine.mapper.mapping.impl.MappedIndexManagerImpl at 77f4038c
identifierMapping=org.hibernate.search.mapper.pojo.bridge.runtime.impl.PropertyIdentifierMapping at 49a06087
routingKeyProvider=org.hibernate.search.mapper.pojo.bridge.runtime.impl.RoutingKeyProvider$$Lambda$578/1859227008 at 6bce4140
processor={
class=PojoIndexingProcessorTypeNode
parentIndexObjectReferences=[]
bridges=[
org.hibernate.search.mapper.pojo.bridge.builtin.spatial.impl.GeoPointBridge at 2c15034f
]
propertyNodes=[
{
class=PojoIndexingProcessorPropertyNode
handle=MethodHandleValueReadHandle[private java.lang.Integer org.hibernate.search.integrationtest.showcase.library.model.Library.collectionSize]
bridges=[
]
nestedNodes=[
{
class=PojoIndexingProcessorValueBridgeNode
bridge=org.hibernate.search.engine.environment.bean.SimpleBeanHolder at 43b4ec0c
indexFieldReference=LuceneIndexFieldReference[schemaNode=LuceneIndexSchemaFieldNode[parent=LuceneIndexSchemaObjectNode[absolutePath=null, storage=null], relativeFieldName=collectionSize, codec=org.hibernate.search.backend.lucene.types.codec.impl.LuceneIntegerFieldCodec at 148b6f95, predicateBuilderFactory=org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericFieldPredicateBuilderFactory at 5ee581db, sortContributor=org.hibernate.search.backend.lucene.types.sort.impl.LuceneNumericFieldSortBuilderFactory at 5a6efe33, projectionBuilderFactory=org.hibernate.search.backend.lucene.types.projection.impl.LuceneStandardFieldProjectionBuilderFactory at 3e5ebdfe]]
}
]
}
{
class=PojoIndexingProcessorPropertyNode
handle=MethodHandleValueReadHandle[private java.lang.String org.hibernate.search.integrationtest.showcase.library.model.Library.name]
bridges=[
]
nestedNodes=[
{
class=PojoIndexingProcessorValueBridgeNode
bridge=org.hibernate.search.engine.environment.bean.SimpleBeanHolder at 71668a67
indexFieldReference=LuceneIndexFieldReference[schemaNode=LuceneIndexSchemaFieldNode[parent=LuceneIndexSchemaObjectNode[absolutePath=null, storage=null], relativeFieldName=name, codec=org.hibernate.search.backend.lucene.types.codec.impl.LuceneStringFieldCodec at 3ff26c9, predicateBuilderFactory=org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextFieldPredicateBuilderFactory at 2ecdcfe3, sortContributor=org.hibernate.search.backend.lucene.types.sort.impl.LuceneTextFieldSortBuilderFactory at 65b73689, projectionBuilderFactory=org.hibernate.search.backend.lucene.types.projection.impl.LuceneStandardFieldProjectionBuilderFactory at 2047adea]]
}
{
class=PojoIndexingProcessorValueBridgeNode
bridge=org.hibernate.search.engine.environment.bean.SimpleBeanHolder at 5af40e45
indexFieldReference=LuceneIndexFieldReference[schemaNode=LuceneIndexSchemaFieldNode[parent=LuceneIndexSchemaObjectNode[absolutePath=null, storage=null], relativeFieldName=name_sort, codec=org.hibernate.search.backend.lucene.types.codec.impl.LuceneStringFieldCodec at 1a06602f, predicateBuilderFactory=org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextFieldPredicateBuilderFactory at 46591e98, sortContributor=org.hibernate.search.backend.lucene.types.sort.impl.LuceneTextFieldSortBuilderFactory at 5b6cc344, projectionBuilderFactory=org.hibernate.search.backend.lucene.types.projection.impl.LuceneStandardFieldProjectionBuilderFactory at 2110684a]]
}
]
}
{
class=PojoIndexingProcessorPropertyNode
handle=MethodHandleValueReadHandle[private java.util.List org.hibernate.search.integrationtest.showcase.library.model.Library.services]
bridges=[
]
nestedNodes=[
{
class=PojoIndexingProcessorContainerElementNode
extractor=org.hibernate.search.mapper.pojo.extractor.builtin.impl.CollectionElementExtractor at 83e635f
nestedNodes=[
{
class=PojoIndexingProcessorValueBridgeNode
bridge=org.hibernate.search.engine.environment.bean.SimpleBeanHolder at 61d011e
indexFieldReference=LuceneIndexFieldReference[schemaNode=LuceneIndexSchemaFieldNode[parent=LuceneIndexSchemaObjectNode[absolutePath=null, storage=null], relativeFieldName=services, codec=org.hibernate.search.backend.lucene.types.codec.impl.LuceneStringFieldCodec at 3b56947a, predicateBuilderFactory=org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextFieldPredicateBuilderFactory at 1926f962, sortContributor=org.hibernate.search.backend.lucene.types.sort.impl.LuceneTextFieldSortBuilderFactory at 62794582, projectionBuilderFactory=org.hibernate.search.backend.lucene.types.projection.impl.LuceneStandardFieldProjectionBuilderFactory at c82ad22]]
}
]
}
]
}
]
}
reindexingResolver={
class=DefaultPojoImplicitReindexingResolver
dirtyPathsTriggeringSelfReindexing=StringSetPojoPathFilter[[latitude, longitude, collectionSize, name, services, org.hibernate.search.integrationtest.showcase.library.model.Library.services]]
containingEntitiesResolverRoot={
class=PojoImplicitReindexingResolverDirtinessFilterNode
dirtyPathFilter=StringSetPojoPathFilter[[latitude, longitude, services, org.hibernate.search.integrationtest.showcase.library.model.Library.services]]
delegate={
class=PojoImplicitReindexingResolverOriginalTypeNode
nestedNodes=[
{
class=PojoImplicitReindexingResolverPropertyNode
handle=MethodHandleValueReadHandle[private java.util.List org.hibernate.search.integrationtest.showcase.library.model.Library.copies]
nestedNodes=[
{
class=PojoImplicitReindexingResolverContainerElementNode
extractor=org.hibernate.search.mapper.pojo.extractor.builtin.impl.CollectionElementExtractor at 3f80d8c
nestedNodes=[
{
class=PojoImplicitReindexingResolverCastedTypeNode
caster=JavaClassPojoCaster[BookCopy]
nestedNodes=[
{
class=PojoImplicitReindexingResolverPropertyNode
handle=MethodHandleValueReadHandle[private org.hibernate.search.integrationtest.showcase.library.model.Document org.hibernate.search.integrationtest.showcase.library.model.DocumentCopy.document]
nestedNodes=[
{
class=PojoImplicitReindexingResolverOriginalTypeNode
nestedNodes=[
{
class=PojoImplicitReindexingResolverMarkingNode
}
]
}
]
}
]
}
{
class=PojoImplicitReindexingResolverCastedTypeNode
caster=JavaClassPojoCaster[VideoCopy]
nestedNodes=[
{
class=PojoImplicitReindexingResolverPropertyNode
handle=MethodHandleValueReadHandle[private org.hibernate.search.integrationtest.showcase.library.model.Document org.hibernate.search.integrationtest.showcase.library.model.DocumentCopy.document]
nestedNodes=[
{
class=PojoImplicitReindexingResolverOriginalTypeNode
nestedNodes=[
{
class=PojoImplicitReindexingResolverMarkingNode
}
]
}
]
}
]
}
]
}
]
}
]
}
}
}
}
( https://hibernate.atlassian.net/browse/HSEARCH-3855#add-comment?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 ) Add Comment ( https://hibernate.atlassian.net/browse/HSEARCH-3855#add-comment?atlOrigin=eyJpIjoiZWY0MDU4NzA5OTc4NGRiOWI4ZTEyNmU4MjJlOTZhM2MiLCJwIjoiaiJ9 )
Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100121- sha1:6148daa )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-issues/attachments/20200305/b432bf92/attachment.html
More information about the hibernate-issues
mailing list