Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0.0BETA3
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      I have a listener who listens on onFlush event,
      i have a document and change a property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
      The result is that all references are added twice.

      If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.

      Here's my document (notice references added twice on children property):

      array (
      'children' =>
      array (
      0 =>
      array (
      '$ref' => 'block',
      '$id' => new MongoId("4d8b663638b6180803000005"),
      '$db' => 'app_jules',
      '_doctrine_class_name' => 'Design\\PageBundle\\Document
      StrategyBlock',
      ),
      1 =>
      array (
      '$ref' => 'block',
      '$id' => new MongoId("4d8b663638b6180803000005"),
      '$db' => 'app_jules',
      '_doctrine_class_name' => 'Design\\PageBundle\\Document
      StrategyBlock',
      )
      ),
      'order' => 0,
      'parent' =>
      array (
      '$ref' => 'block',
      '$id' => new MongoId("4d8b663638b6180803000003"),
      '$db' => 'app_jules',
      '_doctrine_class_name' => 'Design\\PageBundle\\Document
      ContainerBlock',
      ),
      'type' => 'container',
      )

      EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine

      I tried to reproduce it in a test-case but the result wasn't successful

        Activity

        jules b created issue -
        jules b made changes -
        Field Original Value New Value
        Description I have a document and a listener who listens on loadClassMetadata event for this document.

        When i persist it, all references are added twice (with the same id).
        If i remove my listener all went fine.

        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):

        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):

        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):
        [CODE]
        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )[/CODE]
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):
        [CODE]
        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )[/CODE]
        I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice (with the same id).

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'blockData' =>
          array (
            'size' => 100,
            'align' => 'l',
          ),
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            2 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            3 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000006"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $sort property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )
        I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )


        EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )


        EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine
        I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice references added twice on children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )


        EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine
        jules b made changes -
        Description I have a listener who listens on onFlush event, i change the $order property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice references added twice on children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )


        EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine
        I have a listener who listens on onFlush event,
        i have a document and change a property (integer) in it and call $uow->recomputeSingleDocumentChangeSet().
        The result is that all references are added twice.

        If i remove the call to $uow->recomputeSingleDocumentChangeSet() all is fine.


        Here's my document (notice references added twice on children property):


        array (
          'children' =>
          array (
            0 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            ),
            1 =>
            array (
              '$ref' => 'block',
              '$id' => new MongoId("4d8b663638b6180803000005"),
              '$db' => 'app_jules',
              '_doctrine_class_name' => 'Design\\PageBundle\\Document\\StrategyBlock',
            )
          ),
          'order' => 0,
          'parent' =>
          array (
            '$ref' => 'block',
            '$id' => new MongoId("4d8b663638b6180803000003"),
            '$db' => 'app_jules',
            '_doctrine_class_name' => 'Design\\PageBundle\\Document\\ContainerBlock',
          ),
          'type' => 'container',
        )


        EDIT: if i clear() the $children ArrayCollection before calling $uow->recomputeSingleDocumentChangeSet() all is fine

        I tried to reproduce it in a test-case but the result wasn't successful

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=MODM-134, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Jonathan H. Wage
            Reporter:
            jules b
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: