wide-energy-11069
09/05/2018, 7:50 PMdjango apps must be pexed up as not zip safeIs there a flag somewhere to say so?
witty-crayon-22786
09/05/2018, 7:57 PMzip_safe
wide-energy-11069
09/05/2018, 7:58 PMwide-energy-11069
09/05/2018, 8:00 PMwitty-crayon-22786
09/05/2018, 8:00 PMwitty-crayon-22786
09/05/2018, 8:01 PMrequirements.txt
file maybe...?witty-crayon-22786
09/05/2018, 8:02 PMwitty-crayon-22786
09/05/2018, 8:02 PMwide-energy-11069
09/05/2018, 8:04 PMwitty-crayon-22786
09/05/2018, 8:05 PMclean-all
after changing zip_safe
...?witty-crayon-22786
09/05/2018, 8:05 PMwide-energy-11069
09/05/2018, 8:15 PMwitty-crayon-22786
09/05/2018, 8:16 PMwide-energy-11069
09/05/2018, 8:19 PMif you have an internal repro, and you can confirm that reverting that commit fixes it,can confirm this already
enough-analyst-54434
09/05/2018, 8:33 PMwitty-crayon-22786
09/05/2018, 8:34 PMenough-analyst-54434
09/05/2018, 8:42 PMenough-analyst-54434
09/05/2018, 8:51 PMenough-analyst-54434
09/05/2018, 8:53 PMwide-energy-11069
09/05/2018, 8:53 PMwitty-crayon-22786
09/05/2018, 8:54 PMfiles
targets actually included in pexes? i would think that that would only be resources
witty-crayon-22786
09/05/2018, 8:55 PMenough-analyst-54434
09/05/2018, 8:55 PMenough-analyst-54434
09/05/2018, 8:55 PMenough-analyst-54434
09/05/2018, 8:55 PMwide-energy-11069
09/05/2018, 8:56 PMenough-analyst-54434
09/05/2018, 8:56 PMenough-analyst-54434
09/05/2018, 8:57 PM$ zipinfo dist/pants_local_binary.pex | grep 3rdparty/
-rw-r--r-- 2.0 unx 658 b- defN 18-Sep-05 14:56 3rdparty/python/requirements.txt
-rw-r--r-- 2.0 unx 112 b- defN 18-Sep-05 14:56 3rdparty/python/twitter/commons/requirements.txt
-rw-r--r-- 2.0 unx 27 b- defN 18-Sep-05 14:56 pants-plugins/3rdparty/python/requirements.txt
wide-energy-11069
09/05/2018, 8:58 PMwide-energy-11069
09/05/2018, 8:58 PMOnly in extracted_pex_bad/: 3rdparty
enough-analyst-54434
09/05/2018, 8:58 PMwitty-crayon-22786
09/05/2018, 8:58 PMwitty-crayon-22786
09/05/2018, 8:58 PMwitty-crayon-22786
09/05/2018, 8:58 PMenough-analyst-54434
09/05/2018, 8:58 PMenough-analyst-54434
09/05/2018, 9:00 PMwide-energy-11069
09/05/2018, 9:07 PMwide-energy-11069
09/05/2018, 9:07 PMwide-energy-11069
09/05/2018, 9:07 PMno_3rdparty.pex
is zip with 3rdparty removedenough-analyst-54434
09/05/2018, 9:07 PMenough-analyst-54434
09/05/2018, 9:08 PMenough-analyst-54434
09/05/2018, 9:08 PMwide-energy-11069
09/05/2018, 9:12 PMwide-energy-11069
09/05/2018, 9:12 PMenough-analyst-54434
09/05/2018, 9:14 PMenough-analyst-54434
09/05/2018, 9:15 PMenough-analyst-54434
09/05/2018, 9:16 PMenough-analyst-54434
09/05/2018, 9:16 PMwide-energy-11069
09/05/2018, 9:16 PMextracted_pex_bad/3rdparty/python/requirements.txt
exist now, but not before?enough-analyst-54434
09/05/2018, 9:17 PMenough-analyst-54434
09/05/2018, 9:17 PMwide-energy-11069
09/05/2018, 9:20 PMenough-analyst-54434
09/05/2018, 9:21 PMenough-analyst-54434
09/05/2018, 9:21 PMenough-analyst-54434
09/05/2018, 9:24 PMenough-analyst-54434
09/05/2018, 9:25 PMpython_requirements
build file alias.wide-energy-11069
09/05/2018, 9:31 PMdependencies
later https://github.com/pantsbuild/pants/blob/ab5aeeb34512f50fdaf4e01bf005559c3ccbe08d/src/python/pants/backend/python/python_requirements.py#L70-L74enough-analyst-54434
09/05/2018, 9:35 PMenough-analyst-54434
09/05/2018, 9:35 PMenough-analyst-54434
09/05/2018, 9:36 PMenough-analyst-54434
09/05/2018, 9:37 PMenough-analyst-54434
09/05/2018, 9:39 PMenough-analyst-54434
09/05/2018, 9:39 PMenough-analyst-54434
09/05/2018, 9:40 PMenough-analyst-54434
09/05/2018, 9:40 PMwide-energy-11069
09/05/2018, 9:41 PMenough-analyst-54434
09/05/2018, 9:41 PMwide-energy-11069
09/05/2018, 9:41 PMenough-analyst-54434
09/05/2018, 9:42 PMenough-analyst-54434
09/05/2018, 9:42 PMenough-analyst-54434
09/05/2018, 9:43 PMenough-analyst-54434
09/05/2018, 9:44 PMenough-analyst-54434
09/05/2018, 9:44 PMwide-energy-11069
09/05/2018, 9:44 PMenough-analyst-54434
09/05/2018, 9:45 PMwide-energy-11069
09/05/2018, 9:46 PMwide-energy-11069
09/05/2018, 9:47 PMI’ve never met a pex that runs zipped but not loose, whereas the opposite happens as mentioned earlier with django, etc.That’s our observation as well. loose works, but not zipped
enough-analyst-54434
09/05/2018, 9:47 PMenough-analyst-54434
09/05/2018, 9:48 PMwide-energy-11069
09/05/2018, 9:49 PMtmpdir
2. python tmpdir/
enough-analyst-54434
09/05/2018, 9:49 PMenough-analyst-54434
09/05/2018, 9:49 PMwide-energy-11069
09/05/2018, 9:50 PMwide-energy-11069
09/05/2018, 9:51 PM$ rg 'zip_safe' extracted_pex_bad/PEX-INFO
...
"zip_safe": true}
enough-analyst-54434
09/05/2018, 9:53 PMenough-analyst-54434
09/05/2018, 9:55 PMenough-analyst-54434
09/05/2018, 9:55 PMenough-analyst-54434
09/05/2018, 9:56 PMwide-energy-11069
09/05/2018, 9:56 PMenough-analyst-54434
09/05/2018, 9:56 PMenough-analyst-54434
09/05/2018, 9:57 PMenough-analyst-54434
09/05/2018, 9:57 PMenough-analyst-54434
09/05/2018, 9:57 PMenough-analyst-54434
09/05/2018, 9:57 PMwide-energy-11069
09/05/2018, 9:58 PMenough-analyst-54434
09/05/2018, 9:59 PMenough-analyst-54434
09/05/2018, 9:59 PMenough-analyst-54434
09/05/2018, 9:59 PMenough-analyst-54434
09/05/2018, 9:59 PM$ unzip -qc dist/pants_local_binary.pex PEX-INFO | jq . | grep zip_safe
"zip_safe": false
enough-analyst-54434
09/05/2018, 10:00 PMwide-energy-11069
09/05/2018, 10:04 PM[tw-mbp-yic source (master)]$ unzip -qc dist/bad.pex PEX-INFO | jq . | grep zip_safe
unzip: cannot find or open dist/bad.pex, dist/bad.pex.zip or dist/bad.pex.ZIP.
[tw-mbp-yic source (master)]$ unzip -qc dist/good.pex PEX-INFO | jq . | grep zip_safe
warning [dist/good.pex]: 25 extra bytes at beginning or within zipfile
(attempting to process anyway)
"zip_safe": true
wide-energy-11069
09/05/2018, 10:04 PMwide-energy-11069
09/05/2018, 10:06 PMbad.pex
has zip_safe: False
, and good.pex
has zip_safe: True
enough-analyst-54434
09/05/2018, 10:06 PMwide-energy-11069
09/05/2018, 10:06 PMenough-analyst-54434
09/05/2018, 10:07 PMenough-analyst-54434
09/05/2018, 10:07 PMenough-analyst-54434
09/05/2018, 10:07 PMenough-analyst-54434
09/05/2018, 10:07 PMenough-analyst-54434
09/05/2018, 10:08 PMenough-analyst-54434
09/05/2018, 10:08 PMwide-energy-11069
09/05/2018, 10:10 PM[tw-mbp-yic pants (good)]$ git diff
diff --git a/src/python/pants/backend/python/targets/python_binary.py b/src/python/pants/backend/python/targets/python_binary.py
index 45565fc..89c301c 100644
--- a/src/python/pants/backend/python/targets/python_binary.py
+++ b/src/python/pants/backend/python/targets/python_binary.py
@@ -77,7 +77,7 @@ class PythonBinary(PythonTarget):
payload.add_fields({
'entry_point': PrimitiveField(entry_point),
'inherit_path': PrimitiveField(inherit_path),
- 'zip_safe': PrimitiveField(bool(zip_safe)),
+ 'zip_safe': PrimitiveField(bool(False)),
'always_write_cache': PrimitiveField(bool(always_write_cache)),
'repositories': PrimitiveField(maybe_list(repositories or [])),
'indices': PrimitiveField(maybe_list(indices or [])),
hardcoding it False
made it fail on the good commitwide-energy-11069
09/05/2018, 10:11 PMzip_safe=False
would cause an unintended file scan?enough-analyst-54434
09/05/2018, 10:12 PMenough-analyst-54434
09/05/2018, 10:12 PMenough-analyst-54434
09/05/2018, 10:12 PMwide-energy-11069
09/05/2018, 10:12 PMenough-analyst-54434
09/05/2018, 10:13 PMenough-analyst-54434
09/05/2018, 10:13 PMenough-analyst-54434
09/05/2018, 10:13 PMenough-analyst-54434
09/05/2018, 10:13 PMenough-analyst-54434
09/05/2018, 10:14 PMenough-analyst-54434
09/05/2018, 10:14 PMwide-energy-11069
09/05/2018, 10:15 PMzip_safe=False
should make it more reliable right?enough-analyst-54434
09/05/2018, 10:15 PMenough-analyst-54434
09/05/2018, 10:15 PMenough-analyst-54434
09/05/2018, 10:15 PMenough-analyst-54434
09/05/2018, 10:15 PMenough-analyst-54434
09/05/2018, 10:16 PMif anything, specifyingAnd faster for repeated runs!should make it more reliable right? (edited)zip_safe=False
enough-analyst-54434
09/05/2018, 10:17 PMenough-analyst-54434
09/05/2018, 10:18 PMwide-energy-11069
09/05/2018, 10:20 PMwide-energy-11069
09/05/2018, 10:20 PMenough-analyst-54434
09/05/2018, 10:21 PMenough-analyst-54434
09/05/2018, 10:21 PMenough-analyst-54434
09/05/2018, 10:21 PMwide-energy-11069
09/05/2018, 10:22 PMenough-analyst-54434
09/05/2018, 10:22 PMwide-energy-11069
09/06/2018, 9:39 PM-from twitter.infraops.ims.ndb.models.ndb import Base
+from twitter.infraops.ims.ndb.models.ndb import *
whatever the user code does with SQLalchemy seems high dependent on the import order and its side effectsenough-analyst-54434
09/06/2018, 9:40 PMwide-energy-11069
09/06/2018, 9:41 PM