Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shillelagh only analyzes 64 tags in a superset #467

Open
mibarannikov opened this issue Aug 29, 2024 · 24 comments
Open

Shillelagh only analyzes 64 tags in a superset #467

mibarannikov opened this issue Aug 29, 2024 · 24 comments
Assignees
Labels
waiting Waiting on more information

Comments

@mibarannikov
Copy link

mibarannikov commented Aug 29, 2024

Hello. All values ​​are null in json for fields greater than 64.
image

@mibarannikov
Copy link
Author

mibarannikov commented Aug 29, 2024

Generation was performed by the activity process.

var test = [];
for (var l = 0; l < 2; l++) {
    var o = {};

    for (var i = 0; i < 100; i++) {
        o["col_" + i] = i + (100 * l);
    }
    test.push(o);
}
execution.setVariable("test", JSON.stringify(test));

@mibarannikov
Copy link
Author

image

@betodealmeida
Copy link
Owner

@mibarannikov what version are you running? I just tested with 1.2.26 and it works:

🍀> SELECT VERSION();
VERSION()
----------------------
1.2.26 (apsw 3.45.3.0)
(1 row in 0.00s)

🍀> SELECT * FROM "http://127.0.0.1:5000/data#$.[*]";
  col_0    col_1    col_2    col_3    col_4    col_5    col_6    col_7    col_8    col_9    col_10    col_11    col_12    col_13    col_14    col_15    col_16    col_17    col_18    col_19    col_20    col_21    col_22    col_23    col_24    col_25    col_26    col_27    col_28    col_29    col_30    col_31    col_32    col_33    col_34    col_35    col_36    col_37    col_38    col_39    col_40    col_41    col_42    col_43    col_44    col_45    col_46    col_47    col_48    col_49    col_50    col_51    col_52    col_53    col_54    col_55    col_56    col_57    col_58    col_59    col_60    col_61    col_62    col_63    col_64    col_65    col_66    col_67    col_68    col_69    col_70    col_71    col_72    col_73    col_74    col_75    col_76    col_77    col_78    col_79    col_80    col_81    col_82    col_83    col_84    col_85    col_86    col_87    col_88    col_89    col_90    col_91    col_92    col_93    col_94    col_95    col_96    col_97    col_98    col_99
-------  -------  -------  -------  -------  -------  -------  -------  -------  -------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------
      0        1        2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99
    100      101      102      103      104      105      106      107      108      109       110       111       112       113       114       115       116       117       118       119       120       121       122       123       124       125       126       127       128       129       130       131       132       133       134       135       136       137       138       139       140       141       142       143       144       145       146       147       148       149       150       151       152       153       154       155       156       157       158       159       160       161       162       163       164       165       166       167       168       169       170       171       172       173       174       175       176       177       178       179       180       181       182       183       184       185       186       187       188       189       190       191       192       193       194       195       196       197       198       199
(2 rows in 0.11s)

🍀>

Where the data came from this Flask app:

from flask import Flask

app = Flask(__name__)


@app.route("/data", methods=["GET"])
def get_data():
    return (
        '[{"col_0":0,"col_1":1,"col_2":2,"col_3":3,"col_4":4,"col_5":5,"col_6":6,"col_7":7,"col_8":8,"col_9":9,"col_10":10,"col_11":11,"col_12":12,"col_13":13,"col_14":14,"col_15":15,"col_16":16,"col_17":17,"col_18":18,"col_19":19,"col_20":20,"col_21":21,"col_22":22,"col_23":23,"col_24":24,"col_25":25,"col_26":26,"col_27":27,"col_28":28,"col_29":29,"col_30":30,"col_31":31,"col_32":32,"col_33":33,"col_34":34,"col_35":35,"col_36":36,"col_37":37,"col_38":38,"col_39":39,"col_40":40,"col_41":41,"col_42":42,"col_43":43,"col_44":44,"col_45":45,"col_46":46,"col_47":47,"col_48":48,"col_49":49,"col_50":50,"col_51":51,"col_52":52,"col_53":53,"col_54":54,"col_55":55,"col_56":56,"col_57":57,"col_58":58,"col_59":59,"col_60":60,"col_61":61,"col_62":62,"col_63":63,"col_64":64,"col_65":65,"col_66":66,"col_67":67,"col_68":68,"col_69":69,"col_70":70,"col_71":71,"col_72":72,"col_73":73,"col_74":74,"col_75":75,"col_76":76,"col_77":77,"col_78":78,"col_79":79,"col_80":80,"col_81":81,"col_82":82,"col_83":83,"col_84":84,"col_85":85,"col_86":86,"col_87":87,"col_88":88,"col_89":89,"col_90":90,"col_91":91,"col_92":92,"col_93":93,"col_94":94,"col_95":95,"col_96":96,"col_97":97,"col_98":98,"col_99":99},{"col_0":100,"col_1":101,"col_2":102,"col_3":103,"col_4":104,"col_5":105,"col_6":106,"col_7":107,"col_8":108,"col_9":109,"col_10":110,"col_11":111,"col_12":112,"col_13":113,"col_14":114,"col_15":115,"col_16":116,"col_17":117,"col_18":118,"col_19":119,"col_20":120,"col_21":121,"col_22":122,"col_23":123,"col_24":124,"col_25":125,"col_26":126,"col_27":127,"col_28":128,"col_29":129,"col_30":130,"col_31":131,"col_32":132,"col_33":133,"col_34":134,"col_35":135,"col_36":136,"col_37":137,"col_38":138,"col_39":139,"col_40":140,"col_41":141,"col_42":142,"col_43":143,"col_44":144,"col_45":145,"col_46":146,"col_47":147,"col_48":148,"col_49":149,"col_50":150,"col_51":151,"col_52":152,"col_53":153,"col_54":154,"col_55":155,"col_56":156,"col_57":157,"col_58":158,"col_59":159,"col_60":160,"col_61":161,"col_62":162,"col_63":163,"col_64":164,"col_65":165,"col_66":166,"col_67":167,"col_68":168,"col_69":169,"col_70":170,"col_71":171,"col_72":172,"col_73":173,"col_74":174,"col_75":175,"col_76":176,"col_77":177,"col_78":178,"col_79":179,"col_80":180,"col_81":181,"col_82":182,"col_83":183,"col_84":184,"col_85":185,"col_86":186,"col_87":187,"col_88":188,"col_89":189,"col_90":190,"col_91":191,"col_92":192,"col_93":193,"col_94":194,"col_95":195,"col_96":196,"col_97":197,"col_98":198,"col_99":199}]',
        {"Content-Type": "application/json"},
    )


if __name__ == "__main__":
    app.run(debug=True)

@betodealmeida betodealmeida added the waiting Waiting on more information label Aug 29, 2024
@mibarannikov
Copy link
Author

mibarannikov commented Aug 29, 2024

2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,485:DEBUG:shillelagh.adapters.api.generic_json:{'col_0': 0, 'col_1': 1, 'col_2': 2, 'col_3': 3, 'col_4': 4, 'col_5': 5, 'col_6': 6, 'col_7': 7, 'col_8': 8, 'col_9': 9, 'col_10': 10, 'col_11': 11, 'col_12': 12, 'col_13': 13, 'col_14': 14, 'col_15': 15, 'col_16': 16, 'col_17': 17, 'col_18': 18, 'col_19': 19, 'col_20': 20, 'col_21': 21, 'col_22': 22, 'col_23': 23, 'col_24': 24, 'col_25': 25, 'col_26': 26, 'col_27': 27, 'col_28': 28, 'col_29': 29, 'col_30': 30, 'col_31': 31, 'col_32': 32, 'col_33': 33, 'col_34': 34, 'col_35': 35, 'col_36': 36, 'col_37': 37, 'col_38': 38, 'col_39': 39, 'col_40': 40, 'col_41': 41, 'col_42': 42, 'col_43': 43, 'col_44': 44, 'col_45': 45, 'col_46': 46, 'col_47': 47, 'col_48': 48, 'col_49': 49, 'col_50': 50, 'col_51': 51, 'col_52': 52, 'col_53': 53, 'col_54': 54, 'col_55': 55, 'col_56': 56, 'col_57': 57, 'col_58': 58, 'col_59': 59, 'col_60': 60, 'col_61': 61, 'col_62': 62, 'col_63': 63, 'col_64': 64, 'col_65': 65, 'col_66': 66, 'col_67': 67, 'col_68': 68, 'col_69': 69, 'col_70': 70, 'col_71': 71, 'col_72': 72, 'col_73': 73, 'col_74': 74, 'col_75': 75, 'col_76': 76, 'col_77': 77, 'col_78': 78, 'col_79': 79, 'col_80': 80, 'col_81': 81, 'col_82': 82, 'col_83': 83, 'col_84': 84, 'col_85': 85, 'col_86': 86, 'col_87': 87, 'col_88': 88, 'col_89': 89, 'col_90': 90, 'col_91': 91, 'col_92': 92, 'col_93': 93, 'col_94': 94, 'col_95': 95, 'col_96': 96, 'col_97': 97, 'col_98': 98, 'col_99': 99, 'rowid': 0}
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,485:DEBUG:shillelagh.adapters.api.generic_json:{'col_0': 100, 'col_1': 101, 'col_2': 102, 'col_3': 103, 'col_4': 104, 'col_5': 105, 'col_6': 106, 'col_7': 107, 'col_8': 108, 'col_9': 109, 'col_10': 110, 'col_11': 111, 'col_12': 112, 'col_13': 113, 'col_14': 114, 'col_15': 115, 'col_16': 116, 'col_17': 117, 'col_18': 118, 'col_19': 119, 'col_20': 120, 'col_21': 121, 'col_22': 122, 'col_23': 123, 'col_24': 124, 'col_25': 125, 'col_26': 126, 'col_27': 127, 'col_28': 128, 'col_29': 129, 'col_30': 130, 'col_31': 131, 'col_32': 132, 'col_33': 133, 'col_34': 134, 'col_35': 135, 'col_36': 136, 'col_37': 137, 'col_38': 138, 'col_39': 139, 'col_40': 140, 'col_41': 141, 'col_42': 142, 'col_43': 143, 'col_44': 144, 'col_45': 145, 'col_46': 146, 'col_47': 147, 'col_48': 148, 'col_49': 149, 'col_50': 150, 'col_51': 151, 'col_52': 152, 'col_53': 153, 'col_54': 154, 'col_55': 155, 'col_56': 156, 'col_57': 157, 'col_58': 158, 'col_59': 159, 'col_60': 160, 'col_61': 161, 'col_62': 162, 'col_63': 163, 'col_64': 164, 'col_65': 165, 'col_66': 166, 'col_67': 167, 'col_68': 168, 'col_69': 169, 'col_70': 170, 'col_71': 171, 'col_72': 172, 'col_73': 173, 'col_74': 174, 'col_75': 175, 'col_76': 176, 'col_77': 177, 'col_78': 178, 'col_79': 179, 'col_80': 180, 'col_81': 181, 'col_82': 182, 'col_83': 183, 'col_84': 184, 'col_85': 185, 'col_86': 186, 'col_87': 187, 'col_88': 188, 'col_89': 189, 'col_90': 190, 'col_91': 191, 'col_92': 192, 'col_93': 193, 'col_94': 194, 'col_95': 195, 'col_96': 196, 'col_97': 197, 'col_98': 198, 'col_99': 199, 'rowid': 1}
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,490:DEBUG:requests_cache.policy.actions:Cache directives from request headers: CacheDirectives()
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,490:DEBUG:requests_cache.policy.actions:Pre-read cache checks: Passed
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,490:DEBUG:requests_cache.policy.actions:Post-read cache actions: CacheActions(expire_after=180.0)
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,490:DEBUG:shillelagh.adapters.api.generic_json:{'col_0': 0, 'col_1': 1, 'col_2': 2, 'col_3': 3, 'col_4': 4, 'col_5': 5, 'col_6': 6, 'col_7': 7, 'col_8': 8, 'col_9': 9, 'col_10': 10, 'col_11': 11, 'col_12': 12, 'col_13': 13, 'col_14': 14, 'col_15': 15, 'col_16': 16, 'col_17': 17, 'col_18': 18, 'col_19': 19, 'col_20': 20, 'col_21': 21, 'col_22': 22, 'col_23': 23, 'col_24': 24, 'col_25': 25, 'col_26': 26, 'col_27': 27, 'col_28': 28, 'col_29': 29, 'col_30': 30, 'col_31': 31, 'col_32': 32, 'col_33': 33, 'col_34': 34, 'col_35': 35, 'col_36': 36, 'col_37': 37, 'col_38': 38, 'col_39': 39, 'col_40': 40, 'col_41': 41, 'col_42': 42, 'col_43': 43, 'col_44': 44, 'col_45': 45, 'col_46': 46, 'col_47': 47, 'col_48': 48, 'col_49': 49, 'col_50': 50, 'col_51': 51, 'col_52': 52, 'col_53': 53, 'col_54': 54, 'col_55': 55, 'col_56': 56, 'col_57': 57, 'col_58': 58, 'col_59': 59, 'col_60': 60, 'col_61': 61, 'col_62': 62, 'col_63': 63, 'rowid': 0}
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,491:DEBUG:root:Query 260: Handling cursor
2024-08-29T20:51:33+03:00 2024-08-29 17:51:33,495:DEBUG:shillelagh.adapters.api.generic_json:{'col_0': 100, 'col_1': 101, 'col_2': 102, 'col_3': 103, 'col_4': 104, 'col_5': 105, 'col_6': 106, 'col_7': 107, 'col_8': 108, 'col_9': 109, 'col_10': 110, 'col_11': 111, 'col_12': 112, 'col_13': 113, 'col_14': 114, 'col_15': 115, 'col_16': 116, 'col_17': 117, 'col_18': 118, 'col_19': 119, 'col_20': 120, 'col_21': 121, 'col_22': 122, 'col_23': 123, 'col_24': 124, 'col_25': 125, 'col_26': 126, 'col_27': 127, 'col_28': 128, 'col_29': 129, 'col_30': 130, 'col_31': 131, 'col_32': 132, 'col_33': 133, 'col_34': 134, 'col_35': 135, 'col_36': 136, 'col_37': 137, 'col_38': 138, 'col_39': 139, 'col_40': 140, 'col_41': 141, 'col_42': 142, 'col_43': 143, 'col_44': 144, 'col_45': 145, 'col_46': 146, 'col_47': 147, 'col_48': 148, 'col_49': 149, 'col_50': 150, 'col_51': 151, 'col_52': 152, 'col_53': 153, 'col_54': 154, 'col_55': 155, 'col_56': 156, 'col_57': 157, 'col_58': 158, 'col_59': 159, 'col_60': 160, 'col_61': 161, 'col_62': 162, 'col_63': 163, 'rowid': 1}
2024-08-29T20:51:33+03:00 Query 260: Storing results in results backend, key: 8c5eba8a-427b-4cf3-b9a4-b735de18f0aa

@mibarannikov
Copy link
Author

These are logs from the superset

@mibarannikov
Copy link
Author

I don't know where to look for shillelaght's version, but I use it in superset version 3.1.0

@betodealmeida
Copy link
Owner

I don't know where to look for shillelaght's version, but I use it in superset version 3.1.0

You can run the following query:

SELECT VERSION();

@mibarannikov
Copy link
Author

1.2.11 (apsw 3.42.0.1)

@betodealmeida
Copy link
Owner

@mibarannikov can you try upgrading to a newer version?

@mibarannikov
Copy link
Author

is it possible to upgrade the shillelaght version inside the superset? Or do I need to update the entire superset?

@mibarannikov
Copy link
Author

Can I ask another question? In the logs, first the full json is received, then some caching occurs, and the json is already cut off. Maybe it's a caching issue?

@betodealmeida
Copy link
Owner

is it possible to upgrade the shillelaght version inside the superset? Or do I need to update the entire superset?

You can upgrade only shillelagh doing pip install --upgrade shillelagh where your Superset is running.

@betodealmeida
Copy link
Owner

Can I ask another question? In the logs, first the full json is received, then some caching occurs, and the json is already cut off. Maybe it's a caching issue?

Could be, but it could also been fixed here: https://github.com/betodealmeida/shillelagh/pull/459/files#diff-4f4bed450217073e107a02f101c43a385a304a8625fd67a86eb1cf897da922ed

Let's try upgrading the version first.

@mibarannikov
Copy link
Author

Hi. I had high hopes for the shillelagh update. Unfortunately, nothing has changed. Now I have version 1.2.26. But all field values ​​greater than 64 are null.

@mibarannikov
Copy link
Author

image

@mibarannikov
Copy link
Author

mibarannikov commented Sep 11, 2024

help me. I updated superset 3.1 -> 4.0.2. I updated shillagh to 1.2.27 (apsw 3.42.0.1). I created another json array source. But nothing changed. All json fields greater than 64 are null.

@mibarannikov
Copy link
Author

image

@mibarannikov
Copy link
Author

image

@mibarannikov
Copy link
Author

mibarannikov commented Sep 11, 2024

superset version image

@mibarannikov
Copy link
Author

image

@betodealmeida
Copy link
Owner

Can you try upgrading apsw as well?

@mibarannikov
Copy link
Author

This is a success! The update helped.

@mibarannikov
Copy link
Author

image

@mibarannikov
Copy link
Author

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting Waiting on more information
Projects
None yet
Development

No branches or pull requests

2 participants