Chat log from the meeting on 2021-05-25

 [11:01] Andrew Hellershanks: Hello [11:01] Ubit Umarov: hmm no i don't known them Jagga [11:01] Ubit Umarov: hi [11:01] Jagga Meredith: ok [11:02] Kayaker Magic: Good morning Andrew! Ubit! [11:02] Kayaker Magic: Jasgga! [11:02] Jagga Meredith: morn9ng [11:02] Chat Logger: Meeting chat logging has been enabled. [11:02] Chat Logger: You can view the log at: https://web.youcantfixstupid.wtf/outreach/index.php [11:03] Andrew Hellershanks: Hello, Kayaker. [11:04] Gavin.Hird @grid.xmir.org:8002: evening guys [11:05] Kayaker Magic: I do my normal backups to a server in the barn across the street over a LAN cable. [11:05] Ubit Umarov: hi [11:05] Kayaker Magic: But a forest fire could take out my house and the barn.... [11:05] Andrew Hellershanks: Kayaker, stay away from certain areas of California. :) [11:05] Kayaker Magic: So periodically I back up to a drive that lives in a safety deposit box. [11:05] Gavin.Hird @grid.xmir.org:8002: backupbarn.com [11:05] Ubit Umarov: :) [11:06] Kayaker Magic: Did that last night, and this morning I'm hot swapping SATA drives on my live desktop. [11:06] Kayaker Magic: Linux handles that well. [11:06] Andrew Hellershanks: Hello, Jamie [11:07] Gavin.Hird @grid.xmir.org:8002: Hi Jamie [11:07] Jamie.Jordan @grid.kitely.com:8002: Hi everybody [11:07] Ubit Umarov: hi [11:07] Andrew Hellershanks: Kayaker, Are you running with drives in a RAID configuration in the desktop? [11:08] Kayaker Magic: No [11:08] Ubit Umarov: jagga i can't read all that article in detail [11:08] Andrew Hellershanks: ok. I was wondering about you hot swapping them. [11:09] Jagga Meredith: ok Ubit [11:09] Ubit Umarov: first question of spliting robust, is .. do you really need to do that? [11:09] Kayaker Magic: What article are we talking about? [11:09] Jagga Meredith: to bring rest of you up to speed on what Ubit and I are talking about... [11:10] Andrew Hellershanks: I don't know. It wasn't mentioned after I arrived. [11:10] Jagga Meredith: [10:54] Jagga Meredith: Aviworlds is about to go through the process of moving assets to a linux server. Josh is going to hire some guys in Brazil recommended by Alex (yes, THAT Alex). Know anything about them? [10:54] Jagga Meredith: I'd take a whack at it but I don't have time [10:58] Jagga Meredith: There's an article here [10:58] Jagga Meredith: https://blog.sarapayne.co.uk/opensim-separating-robust-instances/ [11:10] Jagga Meredith: assets are getting bogged down [11:10] Jagga Meredith: so thinking of moving them to separate server, running linux [11:11] Jagga Meredith: the article apparently shows how, I just don't trust the guys in Brazil given who recommended them, would rather have somebody known [11:11] Gavin.Hird @grid.xmir.org:8002: I am running with a separate robust for textures [11:12] Jagga Meredith: ok [11:12] Gavin.Hird @grid.xmir.org:8002: have done so for many years, and it works fine [11:12] Kayaker Magic: I hear OSGrid has many copies of Robust running. [11:12] Jagga Meredith: kinda where I got the idea from [11:12] Ubit Umarov: several do run several instances ues [11:12] Ubit Umarov: yes [11:13] Kayaker Magic: Discovery Grid has a bunch of Robust running with NGIX to balance the load. [11:13] Gavin.Hird @grid.xmir.org:8002: not sure what it has got to do with 0.9.2 specifically as mentioned in the article [11:13] Gavin.Hird @grid.xmir.org:8002: did the same also for 0.8.2 and so on [11:13] Ubit Umarov: i made some changes on 0.9,.2 [11:14] Gavin.Hird @grid.xmir.org:8002: ok [11:14] Ubit Umarov: one service can't be duplicated [11:14] Ubit Umarov: bc it has simple caching [11:14] Gavin.Hird @grid.xmir.org:8002: since I only have one instance of robust for textures I have not bumped into that limitation yet :-) [11:14] Ubit Umarov: and as the article tells, i changed the wiki [11:15] Jagga Meredith: ok, we're interested specifically in the section about moving assets to its own server as that seems to be our bottleneck [11:15] Ubit Umarov: that kinda stated the usual More instance and threads is better, typical of some opensim... well nm [11:16] Ubit Umarov: current text tries to be more conservative abotu that [11:16] Gavin.Hird @grid.xmir.org:8002: I have robust on a dedicated machine separate from the db, which is also on a separate machine [11:16] Ubit Umarov: in several cases you will have no gain on running multiple instances of same service, even if possible [11:16] Jagga Meredith: db on separate gear might be an idea and fairly straightforward [11:16] Gavin.Hird @grid.xmir.org:8002: I have been considering moving robust to th db machine, as they then can communicate over a unix socket and not the genral network [11:18] Ubit Umarov: the split by by several machines is possible, but one needs to be carefull to what services to run where [11:18] Ubit Umarov: some depend heavy on others.. [11:18] Gavin.Hird @grid.xmir.org:8002: yes [11:18] Ubit Umarov: and ofc split by corresponding mysql backends [11:18] Ubit Umarov: or there is no point [11:19] Ubit Umarov whispers: ( or other BD ofc ) [11:19] Jagga Meredith: ok [11:19] Ubit Umarov: osgrid does run several instances of robust [11:19] Gavin.Hird @grid.xmir.org:8002: not sure about the split by mysql backends [11:19] Ubit Umarov: at a point did run several instances of assets servers [11:20] Ubit Umarov: and had sync issues [11:20] Jagga Meredith: aha [11:20] Ubit Umarov: they are now running a diferent server that uses a diferent "db" [11:21] Ubit Umarov: proprietary thing.. [11:21] Kayaker Magic: OSGrid & proprietary? Does not compute.... [11:21] Ubit Umarov: well its how it is :) [11:21] Jagga Meredith: probably some greek thing [11:22] Ubit Umarov: by mysql backedns i mean mysql in diferent machines each with own set of DBs matching the services split [11:22] Ubit Umarov: so their load is also divided [11:22] Jagga Meredith: yep [11:23] Ubit Umarov: well use of SQL  is a pretty bad option on most dbs [11:23] Ubit Umarov: SQL is damm heavy [11:24] Ubit Umarov: some dbs sould be based on faster things like key vlaue things [11:24] Ubit Umarov: but its how is it now :) [11:24] Gavin.Hird @grid.xmir.org:8002: most searches in opesim are indexed searches, but it writes a lot and sizing the db for writes are the critical point [11:24] Jagga Meredith: it's nice to be able to hand code a database query (and not have to learn a new language) [11:25] Ubit Umarov: SQL Is a strange language :) [11:25] Jagga Meredith: yup [11:25] Andrew Hellershanks: Not that strange. [11:25] Jagga Meredith: gets the job done [11:26] Gavin.Hird @grid.xmir.org:8002: agreed Andrew [11:26] Andrew Hellershanks: Jagga, it does. [11:26] Ubit Umarov: well fs assets jumps part of tis use [11:26] Andrew Hellershanks: It can get wild if you need to do a query with joins across multiple tables. [11:26] Jagga Meredith: yeah [11:26] Ubit Umarov: but still uses it for the metadata [11:27] Kayaker Magic: Joins are a way to avoid doing loops and multiple DB searches, so that is a good thing. [11:27] Jagga Meredith: eats CPU [11:27] Gavin.Hird @grid.xmir.org:8002: fs assets is a performance trap [11:28] Andrew Hellershanks: Kayaker, I'm not saying they aren't useful but the statements can get complicated to write and read. [11:28] Ubit Umarov: performance trap? [11:29] Ubit Umarov: bc hte hashes? [11:29] Gavin.Hird @grid.xmir.org:8002: because it involves a general file system [11:29] Gavin.Hird @grid.xmir.org:8002: which is slow [11:29] Ubit Umarov: well things do endup on the file system sooner or later [11:30] Ubit Umarov: sure sure dbs bring own filesystem [11:30] Ubit Umarov: some dbs... [11:30] Gavin.Hird @grid.xmir.org:8002: db writes to the fs in different ways than writing a gernal file [11:31] Gavin.Hird @grid.xmir.org:8002: and as I said, the db needs to be tuned for writes and writes of small records [11:31] Ubit Umarov: now and then i consider making a hibrid assets service [11:31] Jagga Meredith: (remembers when ORACLE wanted its own raw filesystem so it could do its magic without OS interference) [11:31] Gavin.Hird @grid.xmir.org:8002: all general fs struggles with that [11:31] Ubit Umarov: one using mysql for both metadata and blob [11:32] Ubit Umarov: some dbs do use own filesystem jagga [11:32] Gavin.Hird @grid.xmir.org:8002: usually a disk controller can only have one write transaction going to multiple disks on the controller at any time [11:33] Gavin.Hird @grid.xmir.org:8002: so you need to have multiple controllers to you can issue multiple writes conturrently [11:33] Ubit Umarov: think one grid at least is using own assets service that stores both metadata and blobs on mysql [11:34] Ubit Umarov: but thats more abotu using same set of tools for backups etc [11:34] Gavin.Hird @grid.xmir.org:8002: and if your writes exeeds the ssd write cache, the ssd stalls dramatically and performs worse than spinning rust [11:34] Ubit Umarov: amasing the number of ppl that does back fsassets and forgets the files.. only saving the sql [11:35] Gavin.Hird @grid.xmir.org:8002: at least they can see all they have lost... [11:35] Jagga Meredith: heh [11:35] Andrew Hellershanks: Ubit, :) [11:36] Ubit Umarov: oh and a grid did move the assets service and dbs to other machine [11:36] Ubit Umarov: ofc forgot the files on the old box :p [11:36] Ubit Umarov: good the old box was still up and well :) [11:36] Gavin.Hird @grid.xmir.org:8002: did they wipe the old box before they realized? [11:36] Jagga Meredith: oops [11:36] Ubit Umarov: nahh they where lucky Gavin.Hird [11:37] Gavin.Hird @grid.xmir.org:8002: good ! [11:37] Ubit Umarov: but jezz scary [11:37] Andrew Hellershanks: If they didn't remember about the separate asset blobs they weren't getting backed up at all if there was a backup process in place for the databases. [11:38] Ubit Umarov: backup methods are not that universal [11:38] Ubit Umarov: ppl need to use own [11:38] Andrew Hellershanks: No, they aren't. [11:39] Ubit Umarov: well its just a detail.. very simple once ppl do remember :) [11:40] Andrew Hellershanks nods [11:40] Gavin.Hird @grid.xmir.org:8002: we used to say Tivoli Storage Manager is what separates boys from men when it comes to backup [11:40] Gavin.Hird @grid.xmir.org:8002: https://www.ibm.com/docs/en/tsm?topic=SSGSG7/landing/welcome_ssgsg7.html [11:42] Andrew Hellershanks: I ran across something unexpected this past week. [11:43] Andrew Hellershanks: I upgraded a grid to master then got a request to enable HG access to one region but not let HG visitors access some other regions in the grid. [11:43] Gavin.Hird @grid.xmir.org:8002: request from where/whom? [11:44] Andrew Hellershanks: I expected that regions not configured with HG support would not be accessible to an HG grid visitor but it seems that once someone gets in to an HG enabledregion they could go to any other region. Even to regions that were not configured with HG support. [11:44] Gavin.Hird @grid.xmir.org:8002: I have seen the same [11:45] Gavin.Hird @grid.xmir.org:8002: I have a welcome region that does not have HG access, but they still can go there [11:45] Ubit Umarov: HG is not a "enabled" thing [11:45] Andrew Hellershanks: I am not sure if that is a bug or a feature. I wound up creating a new estate and put the HG accessible regions under the new estate and made the other estate accessible by group only. [11:45] Ubit Umarov: HG was done replacing some methods ( using virtual/overide) [11:46] Ubit Umarov: a region does not even have a clear way to know if it does suport HG [11:46] Ubit Umarov: that was just never considered, i guess [11:46] Andrew Hellershanks: HG is an "enabled" thing because you need to use enable/configure it in Robust.ini and there are configuration settings for HG support in the ini files of the regions. [11:47] Ubit Umarov: a grid was jsut assumed to be HG or not, or all HG [11:47] Gavin.Hird @grid.xmir.org:8002: did you configure it in GridCommon.ini for the simulator? [11:47] Gavin.Hird @grid.xmir.org:8002: I have an entry like this: [11:47] Gavin.Hird @grid.xmir.org:8002: [AuthorizationService] ; If you have regions with access restrictions ; specify them here using the convention ; Region_ = ; Valid flags are: ; DisallowForeigners -- HG visitors not allowed ; DisallowResidents -- only Admins and Managers allowed ; Example: Region_Landfall = "DisallowForeigners" [11:47] Ubit Umarov: that is not as "Enabled = true" there not sucja thing [11:47] Andrew Hellershanks: I forgot at first to use the Robust with the HG settings so the region with the extra configuration was still not accessible until I updated Robust.ini [11:47] Ubit Umarov: but yeah i was going to tell there is some flag somewhere [11:48] Gavin.Hird @grid.xmir.org:8002: right, see my entry [11:48] Ubit Umarov: like that DisallowForeigners [11:48] Ubit Umarov: guess a major pain do manage [11:48] Ubit Umarov: to [11:49] Gavin.Hird @grid.xmir.org:8002: right [11:50] Gavin.Hird @grid.xmir.org:8002: usually I have found it works, but there has been times where they could enter. It might have been because the system was in flux with repect to code revisions [11:50] Ubit Umarov: guess any tp will just work [11:50] Gavin.Hird @grid.xmir.org:8002: :-)) [11:50] Ubit Umarov: dunno need look to code [11:51] Andrew Hellershanks: Ah, right. That setting lets you specify things on a region by region basis. It is a minor pain when you want to allow them in to only one region and not to any of the other ones. A Disallow would be needed for each of the other regions in the grid. [11:51] Gavin.Hird @grid.xmir.org:8002: you can try after grid.xmir.org:8002:Landfall [11:51] Gavin.Hird @grid.xmir.org:8002: you should not be able to TP there, but... [11:52] Ubit Umarov: nopes their are blocked [11:52] Gavin.Hird @grid.xmir.org:8002: is it blocked? [11:53] Ubit Umarov: autorization service does check that falg [11:53] Ubit Umarov: flag [11:54] Gavin.Hird @grid.xmir.org:8002: good [11:55] Ubit Umarov: assuming that is defined :) [11:55] Gavin.Hird @grid.xmir.org:8002: Gridcommon.ini is the place to define it [11:56] Ubit Umarov: not sure [11:56] Ubit Umarov: was looking for that [11:57] Ubit Umarov: it is a total pain [11:57] Ubit Umarov: should be on region.ini no? [11:57] Gavin.Hird @grid.xmir.org:8002: it would make more sense, yeah [11:57] Ubit Umarov: string accessStr = config.GetString("Region_" + scene.RegionInfo.RegionName.Replace(' ', '_'), String.Empty);               if (accessStr != string.Empty)                {                    try                    {                        m_accessValue = (AccessFlags)Enum.Parse(typeof(AccessFlags), accessStr);                    } [11:57] Ubit Umarov: bahhh [11:58] Gavin.Hird @grid.xmir.org:8002: syntax [11:58] Gavin.Hird @grid.xmir.org:8002: hence: Region_Landfall = "DisallowForeigners" [11:58] Ubit Umarov: private enum AccessFlags {           None = 0,               /* No restrictions */ DisallowResidents = 1, /* Only gods and managers*/ DisallowForeigners = 2, /* Only local people */ } [11:58] Gavin.Hird @grid.xmir.org:8002: for the Landfall region [11:58] Ubit Umarov: rigid almost useless crap [11:58] Gavin.Hird @grid.xmir.org:8002: there is nothing wrong wiht the options [11:59] Gavin.Hird @grid.xmir.org:8002: it is just stuck in a convoluted place [12:00] Ubit Umarov: well regions.ini is not easy to read on main ini code [12:00] Ubit Umarov: guess that is why.. [12:00] Andrew Hellershanks: We are at the top of the hour. The time went by rather quickly this week. Any last minute comments/questions? [12:00] Ubit Umarov: but can be there, and stored on its structures [12:01] Gavin.Hird @grid.xmir.org:8002: it is probably not used very often [12:01] Kayaker Magic: Region.ini cannot set values in the same dataset as OpenSim.ini, aren't they completely independant? [12:01] Gavin.Hird @grid.xmir.org:8002: perhaps clarifying documentation with an example would be useful [12:01] Ubit Umarov: region.ini is read on a dif dataset ues [12:01] Ubit Umarov: and yes.. [12:02] Ubit Umarov: and at totally dif time [12:02] Ubit Umarov: but that does not mean its data can't be there alter [12:02] Ubit Umarov: later [12:05] Kayaker Magic: I've got to go, appointment to get to [12:05] Andrew Hellershanks: If there are no last minute items for today I will call this meeting to a close. [12:05] Kayaker Magic: Bye all! [12:05] Andrew Hellershanks: Thank you all for coming. See you again next week. [12:05] Gavin.Hird @grid.xmir.org:8002: TC Kayaker [12:05] Andrew Hellershanks: Bye, Kayaker. [12:05] Chat Logger: Meeting chat logging has been disabled. [12:05] Chat Logger: You can view the log at: https://web.youcantfixstupid.wtf/outreach/index.php [12:05] Jagga Meredith: bye. good meeting