DATAMONGO-926 - Avoid StackOverflowError while resolving index structures.
We now guard cyclic non transient, non DBRef property references while inspecting domain types for potentially index structures. To do so we check on the properties path and owning type to determine potential cycles. If found we log a warn message pointing to path, entity and property potentially causing problems and skip processing for this path.
Original pull request: #180.
pull/184/head
Christoph Strobl12 years agocommitted byOliver Gierke
@ -88,6 +96,8 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -88,6 +96,8 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -95,7 +105,7 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -95,7 +105,7 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -118,7 +128,8 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -118,7 +128,8 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -130,9 +141,15 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -130,9 +141,15 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -320,6 +337,115 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -320,6 +337,115 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -329,9 +455,9 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@@ -329,9 +455,9 @@ public class MongoPersistentEntityIndexResolver implements IndexResolver {
@ -439,6 +439,55 @@ public class MongoPersistentEntityIndexResolverUnitTests {
@@ -439,6 +439,55 @@ public class MongoPersistentEntityIndexResolverUnitTests {
@ -463,6 +512,48 @@ public class MongoPersistentEntityIndexResolverUnitTests {
@@ -463,6 +512,48 @@ public class MongoPersistentEntityIndexResolverUnitTests {