| [20:42:47] | * FijiDave has quit (Ping timeout: 276 seconds) |
| [20:43:00] | * FijiDave has joined #farmos |
| [21:37:25] | * JustTB has quit (Quit: Leaving.) |
| [21:38:34] | * JustTB has joined #farmos |
| [23:21:10] | * FijiDave_ has joined #farmos |
| [23:23:59] | * FijiDave has quit (Ping timeout: 276 seconds) |
| [01:18:19] | * JustTB has quit (Quit: Leaving.) |
| [02:38:53] | * JustTB has joined #farmos |
| [05:05:38] | * JustTB has quit (Read error: Connection reset by peer) |
| [14:32:30] | * FijiDave has joined #farmos |
| [14:32:30] | * FijiDave_ has quit (Read error: Connection reset by peer) |
| [14:51:29] | <skipper_is[m]> | Oh man, Drush has somehow uninstalled/disabled itself... |
| [14:54:40] | <mstenta[m]> | skipper_is: Huh. You're using the farmOS "dev" Docker image? |
| [15:01:37] | <skipper_is[m]> | Git clone from github |
| [15:01:39] | <skipper_is[m]> | and then drush make |
| [15:02:20] | <skipper_is[m]> | Also, the new animal weights, what is the best way of logging weights? Is there a quick form? |
| [15:04:45] | <mstenta[m]> | Yea! (sort of) |
| [15:04:50] | <mstenta[m]> | not exactly a "Quick Form" but it is a "quick" "form" ;-) |
| [15:05:07] | <mstenta[m]> | Go to Assets > Animals, select one or more, and click the "Weight" button that appears at the bottom |
| [15:05:49] | <skipper_is[m]> | Oh yea, look at that |
| [15:05:51] | <mstenta[m]> | You can also import observation logs that reference the animal with a "weight" measure |
| [15:06:09] | <mstenta[m]> | Just make sure they are observation logs... |
| [15:06:30] | <mstenta[m]> | I'm currently helping someone who imported them all as activities... it's a bit hairy converting log types after they are created |
| [15:06:44] | <skipper_is[m]> | Hmm, the drop downs for logs and assets appear to only be visible when on the asset or log page.. |
| [15:06:51] | <skipper_is[m]> | Has that always been like that? |
| [15:06:54] | <mstenta[m]> | So what happens when you try to use the `drush` command |
| [15:06:59] | <mstenta[m]> | Hmm not sure |
| [15:07:11] | <skipper_is[m]> | Says it can't find drush |
| [15:07:35] | <mstenta[m]> | > Hmm, the drop downs for logs and assets appear to only be visible when on the asset or log page.. |
| [15:07:36] | <mstenta[m]> | What page are you on when that happens? |
| [15:07:59] | <mstenta[m]> | > Says it can't find drush |
| [15:08:00] | <mstenta[m]> | Well that is strange, huh |
| [15:08:11] | <mstenta[m]> | How did you install Drush? |
| [15:08:12] | <skipper_is[m]> | ACTION uploaded an image: image.png (13KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/cGJoDZDDtGWRzbCU... > |
| [15:08:21] | <skipper_is[m]> | This is the dashboard |
| [15:08:48] | <skipper_is[m]> | This is from logs: |
| [15:08:48] | <mstenta[m]> | By following the install instructions on www.drush.org? |
| [15:08:52] | <skipper_is[m]> | ACTION uploaded an image: image.png (12KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/kbsoLOKwMyNLCUey... > |
| [15:08:54] | <skipper_is[m]> | And this is from assets |
| [15:09:01] | <skipper_is[m]> | ACTION uploaded an image: image.png (9KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/cKTfLvUDKzpkBLfZ... > |
| [15:09:22] | <mstenta[m]> | Hm. I've seen that happen sometimes - I think it means something got messed up with the menu cache - not 100% sure |
| [15:09:39] | <skipper_is[m]> | I'll CC |
| [15:09:44] | <mstenta[m]> | If you can get Drush working, you can try `drush cc menu` to see if it fixes it |
| [15:10:02] | <mstenta[m]> | Or try going to /admin/modules and submitting the form |
| [15:10:05] | <mstenta[m]> | I know that resets the menu cache |
| [15:10:13] | <mstenta[m]> | I'm not sure if clearing the general caches will do it |
| [15:10:44] | <mstenta[m]> | I've only ever had that happen on my local dev instance when I was messing with menu items in modules... |
| [15:11:31] | <skipper_is[m]> | Performance clear all worked |
| [15:12:02] | <skipper_is[m]> | Though it through a new error: PDOException: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "grazing" LINE 1: ...ERE entity_type = 'farm_plan_type' AND entity_id = 'grazing' ^: DELETE FROM {farm_quick_entity} WHERE entity_type = :entity_type AND entity_id = :entity_id; Array ( [:entity_type] => farm_plan_type [:entity_id] => grazing ) in farm_quick_entity_delete() (line 252 |
| [15:12:02] | <skipper_is[m]> | /var/www/html/farmOS/profiles/farm/modules/farm/farm_quick/farm_quick.module). |
| [15:12:27] | <mstenta[m]> | uh oh |
| [15:12:47] | <skipper_is[m]> | Always finding the odd errors |
| [15:12:47] | <mstenta[m]> | what's that all about |
| [15:13:31] | <skipper_is[m]> | Beats me |
| [15:13:32] | <mstenta[m]> | what exactly caused that? |
| [15:13:32] | <skipper_is[m]> | Maybe because I disabled the grazing module |
| [15:13:39] | <mstenta[m]> | /admin/modules? |
| [15:13:51] | <mstenta[m]> | or /admin/config/development/performance? |
| [15:14:05] | <mstenta[m]> | it looks like `farm_quick_entity_delete()` was called |
| [15:14:11] | <mstenta[m]> | which indicates that entities were being deleted |
| [15:14:28] | <skipper_is[m]> | Weird... It was just clearing CC |
| [15:14:33] | <skipper_is[m]> | Oh bold |
| [15:14:33] | <mstenta[m]> | :-/ |
| [15:14:53] | <mstenta[m]> | Can you look in /admin/reports/dblog? |
| [15:15:02] | <skipper_is[m]> | /admin/config/development/performance |
| [15:15:03] | <skipper_is[m]> | called it |
| [15:16:00] | <mstenta[m]> | `farm_quick_entity_delete()` is part of the quick form module - it runs whenever an entity is deleted so that it can clean up any references to entities in {farm_quick_entity} table, which just keeps track of entities that were created by quick forms |
| [15:16:21] | <mstenta[m]> | for some reason, it tried deleting entities with an ID of `grazing`??? |
| [15:16:27] | <mstenta[m]> | that doesn't make any sense |
| [15:16:49] | <skipper_is[m]> | Very odd... Maybe it is trying to tidy up anything left from when grazing was enabled |
| [15:18:01] | <skipper_is[m]> | So re-enabling and disabling grazing led to the same error being called (but from admin/modules) |
| [15:18:01] | <mstenta[m]> | oh... |
| [15:18:10] | <mstenta[m]> | this is the same postgres issue maybe |
| [15:18:21] | <mstenta[m]> | or related |
| [15:19:10] | <skipper_is[m]> | Oh postgres, you make my life miserable |
| [15:19:23] | <skipper_is[m]> | If there was a simple way to switch everything to mysql I sould... |
| [15:19:29] | <skipper_is[m]> | * would even |
| [15:19:50] | <mstenta[m]> | ok i think i understand what's happening |
| [15:19:59] | <mstenta[m]> | and actually it also reveals a small bug in the quick form module |
| [15:20:25] | <mstenta[m]> | Drupal is trying to clean up the old "grazing" plan type |
| [15:20:30] | <skipper_is[m]> | Yea |
| [15:21:11] | <mstenta[m]> | and yea it's related to the postgres issue... hard to explain easily, but i think i understand it |
| [15:21:24] | <mstenta[m]> | i think we can fix this manually for you |
| [15:21:30] | <mstenta[m]> | one sec... |
| [15:21:30] | <skipper_is[m]> | Failed: PDOException: SQLSTATE[42703]: Undefined column: 7 ERROR: column "vidcount" does not exist LINE 5: HAVING (vidcount >= '2') ^: SELECT t.field_farm_animal_tag_revision_id AS field_farm_animal_tag_revision_id, COUNT(t.field_farm_animal_tag_revision_id) AS vidcount FROM {field_revision_field_farm_animal_tag} t GROUP BY t.field_farm_animal_tag_revision_id HAVING (vidcount >= :db_condition_placeholder_0) LIMIT 10 |
| [15:21:30] | <skipper_is[m]> | OFFSET 0; Array ( [:db_condition_placeholder_0] => 2 ) in field_collection_update_7009() (line 424 of /var/www/html/farmOS/profiles/farm/modules/contrib/field_collection/field_collection.install). |
| [15:21:31] | <skipper_is[m]> | Another one just flagged up, wow I really set the cat amongst the pigeons... |
| [15:22:15] | <mstenta[m]> | ok i don't know what that is... `vidcount`? |
| [15:22:20] | <mstenta[m]> | are you running update.php? |
| [15:22:47] | <skipper_is[m]> | Yea, ran update.php, it was on field_collection module |
| [15:23:05] | <mstenta[m]> | did you manually update field_collection? |
| [15:23:12] | <mstenta[m]> | i haven't released an update to that in farmOS yet |
| [15:23:31] | <skipper_is[m]> | I got the latest dev release from drupal |
| [15:23:33] | <mstenta[m]> | this isn't your production database, right skipper_is ? ;-) |
| [15:23:38] | <skipper_is[m]> | And overwrote everything bar sites |
| [15:23:50] | <skipper_is[m]> | Yup, but I did run a backup |
| [15:24:02] | <mstenta[m]> | oh dev release of farmOS? |
| [15:24:08] | <skipper_is[m]> | yea |
| [15:24:08] | <mstenta[m]> | hehe ok good :-) |
| [15:24:23] | <skipper_is[m]> | Though I've not yet tested whether it will restore nicely.. |
| [15:24:41] | <skipper_is[m]> | 2.3gb.... I hope it has everything.. |
| [15:25:00] | <skipper_is[m]> | The previous one is only 25mb.. |
| [15:25:05] | <skipper_is[m]> | No idea what happened there |
| [15:26:03] | <mstenta[m]> | ok... so there's a bunch of different things going on here.... i can only help with one at a time |
| [15:26:19] | <mstenta[m]> | and only for the next half hour at most |
| [15:26:24] | <skipper_is[m]> | Yea, ignore the update one for now |
| [15:28:00] | <mstenta[m]> | That field_collection one may be a postgres issue as well... I'm not sure |
| [15:28:26] | <mstenta[m]> | (fwiw I want to drop our dependency on field_collection) |
| [15:29:03] | <mstenta[m]> | The backup you have... is that from right before you updated to the dev release? |
| [15:29:51] | <skipper_is[m]> | I've been using dev release since always, but I just updated to the latest one this evening (just after I made the backup) |
| [15:30:38] | <mstenta[m]> | ok |
| [15:30:39] | <mstenta[m]> | well... ok... so... |
| [15:30:39] | <mstenta[m]> | if you enable the grazing module again, i think that error will go away |
| [15:31:23] | <mstenta[m]> | i'm going to push a small commit... |
| [15:31:56] | <skipper_is[m]> | When I do clear cc it does |
| [15:33:03] | <mstenta[m]> | with the grazing module enabled? |
| [15:33:29] | <skipper_is[m]> | Yea, no immediate errors with grazing enabled, clear caches completed sucesfully |
| [15:33:46] | <mstenta[m]> | ok cool |
| [15:34:23] | <mstenta[m]> | so this commit i'm going to push should resolve that error specifically, which should also allow Drupal to clean up the grazing module properly |
| [15:34:35] | <skipper_is[m]> | Ah awesome |
| [15:34:45] | <mstenta[m]> | one sec... |
| [15:36:26] | <mstenta[m]> | https://github.com/farmOS/farmOS/commit/79f0a84d910309528c55158c5120e0e5... |
| [15:36:37] | <mstenta[m]> | It's super simple - you can just make the change manually if that's easiest |
| [15:36:52] | <skipper_is[m]> | Yea, I'll do that now, nice one! |
| [15:37:03] | <mstenta[m]> | It makes me wonder if similar bugs exist though... so I'm checking the codebase... |
| [15:38:16] | <mstenta[m]> | Found one more potential instance of it... but it shouldn't affect you |
| [15:39:19] | <mstenta[m]> | Cool - yea I think those are the only two |
| [15:39:59] | <skipper_is[m]> | Disabling it didn't throw an error! |
| [15:40:08] | <mstenta[m]> | To summarize: there were too `hook_entity_delete()` functions in farmOS that were assuming entity IDs are always numeric... but that's not a correct assumption. when entity *types* are deleted, they are deleted by their machine name |
| [15:40:13] | <skipper_is[m]> | And... I think everything remains intact... |
| [15:40:18] | <mstenta[m]> | * To summarize: there were two `hook_entity_delete()` functions in farmOS that were assuming entity IDs are always numeric... but that's not a correct assumption. when entity _types_ are deleted, they are deleted by their machine name |
| [15:40:55] | <mstenta[m]> | Cool! Good find skipper_is ! |
| [15:40:55] | <skipper_is[m]> | Aah |
| [15:40:59] | <mstenta[m]> | Your track record as expert bug finder continues! |
| [15:41:09] | <mstenta[m]> | haha |
| [15:42:18] | * farmBOT has joined #farmos |
| [15:42:32] | <mstenta[m]> | there it is :-) |
| [15:42:35] | <mstenta[m]> | just a bit delayed on Riot's part |
| [15:42:37] | <skipper_is[m]> | Oh.. |
| [15:42:37] | <skipper_is[m]> | Sorry bot |
| [15:42:49] | <mstenta[m]> | to recap (for the log): so i'm not sure if it's actually because you are using postgres that that happened actually... BUT if you hadn't discovered that other postgres issue earlier, I wouldn't have thought of the solution to this! |
| [15:43:02] | <mstenta[m]> | so related in that sense :-) |
| [15:43:06] | <skipper_is[m]> | :) |
| [15:43:23] | <mstenta[m]> | now all that said... i do worry for you skipper_is |
| [15:43:24] | <skipper_is[m]> | I will continue to poke holes in postgres |
| [15:43:35] | <mstenta[m]> | i want farmOS to support postgres, but i also really don't want you to lose data! |
| [15:43:47] | <skipper_is[m]> | Ah backups |
| [15:43:59] | <mstenta[m]> | yes! pleeeeeaaassse! |
| [15:44:00] | <mstenta[m]> | haha |
| [15:44:09] | <skipper_is[m]> | Im doing pg_dump farmos (mydb) -f farmos-15-10-19.sql ... I think that's right |
| [15:44:12] | <mstenta[m]> | make sure your backup procedure is good |
| [15:44:13] | <skipper_is[m]> | It just dumps.. everything |
| [15:44:25] | <skipper_is[m]> | Takes a good 5 minutes to do |
| [15:44:35] | <mstenta[m]> | ok cool - you're on your own with that - i don't use postgres myself, i just know `mysqldump` |
| [15:44:50] | <mstenta[m]> | advice: set up a local dev copy of farmOS and test the import on that |
| [15:44:56] | <skipper_is[m]> | Yea.. |
| [15:45:02] | <skipper_is[m]> | Good shout |
| [15:45:25] | <mstenta[m]> | also remember: database export is only one piece of the backup |
| [15:45:40] | <mstenta[m]> | file uploads are stored in `sites/*/files` and `sites/*/private` generally |
| [15:45:49] | <skipper_is[m]> | Ah that is a much easier backup though |
| [15:45:54] | <mstenta[m]> | yea |
| [15:46:26] | <mstenta[m]> | my strategy is generally two fold: create a db dump into `sites/*/private` and then `rsync` backup the whole `sites/*` directory |
| [15:46:37] | <mstenta[m]> | so then you have a db snapshot and the files |
| [15:47:15] | <skipper_is[m]> | is sites/*/private protected then? I'm assuming so from the private side of the name |
| [15:47:16] | <mstenta[m]> | just make sure Drupal is managing the `private` directory, so it has the proper `.htaccess` file to prevent public reading it |
| [15:47:24] | <mstenta[m]> | yea ^ |
| [15:47:47] | <mstenta[m]> | it's even safer to store db dumps outside of the webroot, of course |
| [15:48:32] | <skipper_is[m]> | mine are in home/me/farmOSBackups |
| [15:48:33] | <mstenta[m]> | go to `/admin/config/media/file-system` to make sure your private dir is configured |
| [15:48:39] | <mstenta[m]> | that works |
| [15:50:40] | <mstenta[m]> | skipper_is: question... |
| [15:50:54] | <mstenta[m]> | do you still have the patch from https://www.drupal.org/project/entity/issues/3076175 applied? |
| [15:51:18] | <skipper_is[m]> | Depends, was it merged with the main distribution? |
| [15:51:29] | <mstenta[m]> | no |
| [15:51:34] | <mstenta[m]> | ok so the update to dev probably removed it |
| [15:51:36] | <skipper_is[m]> | Then I do not |
| [15:51:48] | <mstenta[m]> | so actually... that patch probably also would have fixed the error |
| [15:52:04] | <mstenta[m]> | because it changes the way entity types are deleted, ensuring that it always uses their numeric ID |
| [15:52:31] | <skipper_is[m]> | Aah |
| [15:52:34] | <mstenta[m]> | but still good to fix it in farmOS's `hook_entity_delete()` functions too |
| [15:52:54] | <mstenta[m]> | so now it will be extra fixed :-) |
| [15:54:51] | <skipper_is[m]> | I'll repatch |
| [15:55:46] | <mstenta[m]> | probably a good idea |
| [15:55:58] | <mstenta[m]> | i do plan on merging that into farmOS |
| [15:57:15] | <skipper_is[m]> | It is profiles/farm/modules/contrib/entity/? |
| [16:04:47] | <skipper_is[m]> | Will keep the patched files on my pc to copy across if there is an update |
| [16:10:50] | <mstenta[m]> | yep that's it |
| [16:13:02] | <skipper_is[m]> | Set up a file backup now as well, monthly... probably enough |
| [16:13:53] | <skipper_is[m]> | I am still slightly shocked at my db size though... |
| [16:14:30] | <mstenta[m]> | yea i don't know what that's all about |
| [16:14:53] | <skipper_is[m]> | I'm going to try some other approaches.. see whether I can shrink that... |
| [16:15:15] | <mstenta[m]> | i wonder if postgres does something different? |
| [16:15:17] | <skipper_is[m]> | Because my entire farmOS install + September drone map at 2cm resolution of the farm is smaller than that |
| [16:15:38] | <skipper_is[m]> | Just bloats the backup.. |
| [16:15:50] | <mstenta[m]> | hmm yea... |
| [16:16:06] | <mstenta[m]> | and i would assume the drone map is not stored in the db, right? |
| [16:16:41] | <mstenta[m]> | (side note: "2 cm resolution"!!!!!) |
| [16:18:14] | <skipper_is[m]> | I would sincerely hope not |
| [16:18:24] | <skipper_is[m]> | I was bored, and it is only like 12ha |
| [16:19:47] | <mstenta[m]> | you would have to go out of your way to store images in the db |
| [16:20:10] | <mstenta[m]> | uploaded files in farmOS are stored in `sites` folder, and referenced in the db |
| [16:39:04] | <skipper_is[m]> | Insane... Cannot get the file format down below 2gb... |
| [16:40:57] | <mstenta[m]> | i wonder if there's some kind of garbage collection that needs to be run? |
| [16:41:41] | <skipper_is[m]> | Yea, maybe... |
| [16:43:55] | <skipper_is[m]> | On the db stats, it says it is 350mb |
| [16:47:31] | <mstenta[m]> | Even that seems a little big - but much more reasonable |
| [16:50:49] | <skipper_is[m]> | cache_.... tables... What is in them? |
| [16:50:54] | <skipper_is[m]> | Shouldn't they be cleared out when I do cc? |
| [16:51:03] | * FijiDave has quit (Read error: No route to host) |
| [16:52:05] | * FijiDave has joined #farmos |
| [16:53:20] | <mstenta[m]> | some are... but not all |
| [16:53:50] | <mstenta[m]> | you could consider `TRUNCATE`ing them before you backup |
| [16:54:58] | <skipper_is[m]> | cache form has 12k rows.. |
| [16:56:18] | <mstenta[m]> | yea that's a big one |
| [16:56:23] | <mstenta[m]> | you can wipe it out |
| [16:56:35] | <mstenta[m]> | all the tables that start with `cache_` are not needed in a backup |
| [16:56:59] | <skipper_is[m]> | But not enough to make 2gb of difference... |
| [16:57:18] | <skipper_is[m]> | I get that each row needs an "INSERT INTO..." but still... |
| [16:58:04] | <skipper_is[m]> | Holy.... |
| [16:58:10] | <skipper_is[m]> | So I truncated cache_forms |
| [16:58:14] | <skipper_is[m]> | 12mb |
| [17:11:41] | <mstenta[m]> | Total?? Haha |
| [17:11:49] | <mstenta[m]> | I guess that makes some sense |
| [17:12:07] | <mstenta[m]> | The form cache can be pretty big |
| [17:12:10] | <skipper_is[m]> | That is insane! |
| [17:12:10] | <mstenta[m]> | Oh... Do you have Cron configured to run regularly? |
| [17:12:21] | <mstenta[m]> | That is responsible for clearing those |
| [17:12:38] | <skipper_is[m]> | I do not |
| [17:12:45] | <skipper_is[m]> | I thought I did actually |
| [17:13:09] | <skipper_is[m]> | Cron maintenance tasksLast run 2 hours 27 min ago |
| [17:14:01] | <mstenta[m]> | Oh huh |
| [17:14:15] | <mstenta[m]> | Maybe Google that |
| [17:14:24] | <skipper_is[m]> | Goes every 3h, I assume that is default |
| [17:14:35] | <mstenta[m]> | Specifically the cache form issue |
| [17:14:36] | <mstenta[m]> | For drupal generally |
| [17:15:19] | <skipper_is[m]> | I'm going to do a python script to sync all the backups up, and I'll just add truncate to that... |
| [17:15:50] | <skipper_is[m]> | if "cache_" in tablename: truncate |
| [17:19:41] | <skipper_is[m]> | Right then, I'm going to bed...Thank you for your help today! |
| [17:20:11] | <mstenta[m]> | Sounds good |
| [17:20:17] | <mstenta[m]> | Sure thing! |
| [18:24:05] | * FijiDave has quit (Ping timeout: 276 seconds) |
| [18:36:35] | * FijiDave has joined #farmos |
| [18:39:26] | * FijiDave has quit (Client Quit) |