Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    Orphaned search folders?

    Kopano Groupware Core
    3
    14
    2276
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fbartels
      fbartels Kopano @tobydox last edited by

      Hi @tobydox

      this statement:

      @tobydox said in Unable to retrieve parents for relation groupmember: uid attribute not found:

      Only the Kopano installation is based on a migrated Zarafa setup (where we updated the unique user attribute in the database to match the newly created users in the new domain).

      makes me wonder what exactly you already modified in your database. your error message could be directly connected those changes.

      Regards Felix

      Resources:
      https://kopano.com/blog/how-to-get-kopano/
      https://documentation.kopano.io/
      https://kb.kopano.io/

      Support overview:
      https://kopano.com/support/

      1 Reply Last reply Reply Quote 0
      • tobydox
        tobydox last edited by

        @fbartels said in Orphaned search folders?:

        makes me wonder what exactly you already modified in your database. your error message could be directly connected those changes.

        We only updated the externid row in the users table to use UUIDs (from the entryUUID attributes in LDAP) instead of numerical UIDs. Nothing else was changed and the setup is working in production without any other issues for almost 2 months now :-)

        1 Reply Last reply Reply Quote 0
        • mark dufour
          mark dufour last edited by

          does the following give a hint where these searchfolders might be located…?

          import kopano
          
          for user in kopano.users():
              print(user)
              for folder in user.root.folders():
                  print(folder, folder.hierarchyid)
          
          tobydox 1 Reply Last reply Reply Quote 0
          • tobydox
            tobydox @mark dufour last edited by

            @mark-dufour said in Orphaned search folders?:

            does the following give a hint where these searchfolders might be located…?

            Unluckily not. It’s also not in the public store and I iterated over all items in all folders in all stores and none have the hierarchyids in question. Here are some more details directly from the DB:

            mysql> SELECT * FROM tproperties WHERE hierarchyid=6240779;
            +----------+-------------+-------+------+-----------+----------------------+------------+------------+-------------+----------+------------+
            | folderid | hierarchyid | tag   | type | val_ulong | val_string           | val_binary | val_double | val_longint | val_hi   | val_lo     |
            +----------+-------------+-------+------+-----------+----------------------+------------+------------+-------------+----------+------------+
            |        4 |     6240779 | 12289 |   30 |      NULL | WebApp Search Folder | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 12295 |   64 |      NULL | NULL                 | NULL       |       NULL |        NULL | 30611463 | 1282285952 |
            |        4 |     6240779 | 12296 |   64 |      NULL | NULL                 | NULL       |       NULL |        NULL | 30611463 | 1282285952 |
            |        4 |     6240779 | 13825 |    3 |         2 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 13826 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 13827 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 13834 |   11 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 13847 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 26168 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 26176 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 26177 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            |        4 |     6240779 | 26179 |    3 |         0 | NULL                 | NULL       |       NULL |        NULL |     NULL |       NULL |
            +----------+-------------+-------+------+-----------+----------------------+------------+------------+-------------+----------+------------+
            12 rows in set (0.00 sec)
            
            1 Reply Last reply Reply Quote 0
            • mark dufour
              mark dufour last edited by

              which folder is the one with hierarchyid 4 (the parent of the searchfolder, according to the DB)…?

              tobydox 1 Reply Last reply Reply Quote 0
              • tobydox
                tobydox @mark dufour last edited by

                @mark-dufour said in Orphaned search folders?:

                which folder is the one with hierarchyid 4 (the parent of the searchfolder, according to the DB)…?

                mysql> SELECT * FROM hierarchy WHERE id=4;
                +----+--------+------+-------+-------+
                | id | parent | type | flags | owner |
                +----+--------+------+-------+-------+
                |  4 |      3 |    3 |     0 |     1 |
                +----+--------+------+-------+-------+
                1 row in set (0.00 sec)
                
                mysql> SELECT * FROM hierarchy WHERE id=3;
                +----+--------+------+-------+-------+
                | id | parent | type | flags | owner |
                +----+--------+------+-------+-------+
                |  3 |   NULL |    1 |     0 |     1 |
                +----+--------+------+-------+-------+
                1 row in set (0.00 sec)
                
                mysql> SELECT * FROM users WHERE id=1;
                +----+----------+-------------+-----------+---------+
                | id | externid | objectclass | signature | company |
                +----+----------+-------------+-----------+---------+
                |  1 | NULL     |      196610 |           |       0 |
                +----+----------+-------------+-----------+---------+
                1 row in set (0.00 sec)
                
                1 Reply Last reply Reply Quote 0
                • mark dufour
                  mark dufour last edited by

                  I’d like to know the folder name as well (eg. ‘FIND_ROOT’)… what does the script I pasted above say about ‘hierarchy 4’…?

                  tobydox 1 Reply Last reply Reply Quote 0
                  • tobydox
                    tobydox @mark dufour last edited by

                    @mark-dufour said in Orphaned search folders?:

                    I’d like to know the folder name as well (eg. ‘FIND_ROOT’)… what does the script I pasted above say about ‘hierarchy 4’…?

                    It doesn’t appear as it’s the public store:

                    store = kopano.Server().public_store
                    print store.hierarchyid, store.findroot.hierarchyid
                    

                    gives

                    3 6241326
                    

                    while iterating over all folders of the public store just returns our public contact folders and calendars.

                    1 Reply Last reply Reply Quote 0
                    • mark dufour
                      mark dufour last edited by

                      ok, so that’s why searchfolder_delete.py didn’t see it…

                      do you see the folder(s) like this:

                      for folder in kopano.public_store.findroot.folders():
                          print folder, folder.hierarchyid
                      

                      if so you sholud be able to delete them as follows:

                      findroot.delete(folder)
                      
                      tobydox 1 Reply Last reply Reply Quote 0
                      • tobydox
                        tobydox @mark dufour last edited by

                        @mark-dufour said in Orphaned search folders?:

                        for folder in kopano.public_store.findroot.folders():
                        print folder, folder.hierarchyid

                        This just gives

                        Folder(WebApp Search Folder) 6241385
                        Folder(WebApp Search Folder1) 6241386
                        Folder(WebApp Search Folder10) 6248108
                        Folder(WebApp Search Folder11) 6248167
                        Folder(WebApp Search Folder12) 6248168
                        Folder(WebApp Search Folder13) 6248308
                        Folder(WebApp Search Folder14) 6246205
                        Folder(WebApp Search Folder15) 6248449
                        Folder(WebApp Search Folder16) 6246895
                        Folder(WebApp Search Folder17) 6246900
                        Folder(WebApp Search Folder18) 6246922
                        Folder(WebApp Search Folder19) 6250024
                        Folder(WebApp Search Folder2) 6241387
                        ....
                        

                        but the folder IDs in question are not listed.

                        1 Reply Last reply Reply Quote 0
                        • mark dufour
                          mark dufour last edited by mark dufour

                          hmm. maybe the folders are ‘hidden’ because of some rights issue… but it’s a bit difficult to debug like this. would it be possible to have a look around on your system perhaps, using SSH/teamviewer…?

                          tobydox 1 Reply Last reply Reply Quote 0
                          • tobydox
                            tobydox @mark dufour last edited by

                            @mark-dufour said in Orphaned search folders?:

                            TeamViewer would work. I’ll contact you via chat.

                            1 Reply Last reply Reply Quote 0
                            • tobydox
                              tobydox last edited by

                              We tracked down the issue to search folders being erroneously being created in the root of the public store, probably orphans from the migration from Zarafa to Kopano where the public store did not have a FINDROOT. The script used for deleting these orphans:

                              import kopano
                              
                              for folder in kopano.Server().public_store.root.folders():
                                  if folder.hierarchyid==NNNNNNN and folder.prop(PR_FOLDER_TYPE).value == 2:
                                      print folder.hierarchyid
                                      findroot.delete(folder)
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post