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

Enforce read-only restrictions for JS endpoints marked as readonly #5921

Merged
merged 9 commits into from
Jan 12, 2024

Conversation

eddyashton
Copy link
Member

Noticed while looking at an app.json sample that we weren't correctly using the readonly value. We have read-only tables in historical endpoints, but ignored the mode for normal endpoints.

This is a breaking change, as many existing apps may have misdescribed endpoints which will now throw.

@eddyashton eddyashton requested a review from a team January 11, 2024 17:05
@ghost
Copy link

ghost commented Jan 11, 2024

enforce_js_readonly@80329 aka 20240112.16 vs main ewma over 20 builds from 80038 to 80310

Click to see table

main

build_id build_number tlc_3node_fixed_duration_s tlc_3node_fixed_states tlc_atomic_reconfig_duration_s tlc_atomic_reconfig_states tlc_reconfig_duration_s tlc_reconfig_states pi_basic_mt_sgx_cft^ pi_basic_mt_sgx_cft_mem Commit latency factor tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem pi_ls_sgx_cft^ pi_ls_sgx_cft_mem pi_basic_sgx_cft^ pi_basic_sgx_cft_mem pi_basic_mt_virtual_cft^ pi_basic_js_sgx_cft^ pi_basic_js_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem tpcc_virtual_cft^ pi_ls_jwt_sgx_cft^ pi_ls_jwt_sgx_cft_mem ls_virtual_cft^ ls_js_sgx_cft^ ls_js_sgx_cft_mem pi_ls_virtual_cft^ pi_basic_virtual_cft^ ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem pi_basic_js_virtual_cft^ ls_jwt_virtual_cft^ pi_ls_jwt_virtual_cft^ ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem ls_js_virtual_cft^ ls_full_js_virtual_cft^ ls_js_jwt_virtual_cft^ hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^ tlc_sim_traces tlc_sim_levelmean
80038 20240109.10 6 77678 148 3.90715e+06 149 3.83177e+06 27757.8 2.30851e+07 0.804995 5590.07 8.59996e+07 14106.5 1.88908e+07 14170.6 1.05021e+07 15627.6 1.25993e+07 82244.9 1424.9 1.25993e+07 6806.45 1.67936e+07 17787.8 7055.6 6.30784e+06 52786.7 5772.08 1.67936e+07 56588 62017.1 5731.73 1.67936e+07 4618.3 21127.5 22348.4 3997.66 1.67936e+07 20872.7 17348.9 11716.9 46610.2 793924 1.17586e+06 8.15647e+06 3.07947e+07 2762 403
80055 20240109.17 6 77678 150 3.90715e+06 150 3.83177e+06 28125.3 2.51822e+07 0.801944 5553.42 8.59996e+07 14011.9 1.88908e+07 14117.8 1.05021e+07 15653.4 1.25993e+07 83110 1440.5 1.25993e+07 6840.17 1.88908e+07 17168 6906.2 6.30784e+06 53353.8 5773.25 1.67936e+07 56983.3 62914.7 5487.83 1.88908e+07 4671.7 20784.1 21676.9 3992.89 1.67936e+07 20551.7 17667.4 11750.6 45493 839102 1.17961e+06 8.13667e+06 3.07457e+07 2683 403
80085 20240109.28 6 77678 205 5.77852e+06 186 5.0742e+06 27914.1 2.30851e+07 0.831407 5607.34 8.59996e+07 14092.1 1.88908e+07 14218.4 1.05021e+07 15591 1.46964e+07 84552.9 1436.1 1.25993e+07 7203.24 1.67936e+07 17271.2 6930.4 6.30784e+06 52847 5772.46 1.67936e+07 55766.8 60387.5 5465.32 1.67936e+07 4518.1 21205.6 21748.6 3986.53 1.67936e+07 20441.1 17266.4 11745.2 45314.9 831761 1.18499e+06 8.16636e+06 3.08248e+07 3690 403
80094 20240109.31 6 77678 209 5.77852e+06 189 5.0742e+06 28085.6 2.51822e+07 0.804231 5573.1 8.59996e+07 14090.2 1.88908e+07 14222.7 1.05021e+07 15634.2 1.46964e+07 87281.9 1430.5 1.25993e+07 7275.45 1.67936e+07 17297.9 6924.1 6.30784e+06 53433.6 5816.35 1.67936e+07 56694.8 62608 5769.73 1.67936e+07 4662.9 20736 22087.2 3988.35 1.67936e+07 20693.3 17701.3 11733.9 43765.3 836503 1.18123e+06 8.12931e+06 3.10449e+07 3819 403
80102 20240110.3 5 77678 208 5.77852e+06 187 5.0742e+06 28155.1 2.30851e+07 0.780749 5572.82 8.59996e+07 14058.8 1.88908e+07 14134.6 1.05021e+07 15597.1 1.25993e+07 83443.5 1434.7 1.25993e+07 6839.89 1.67936e+07 17241.8 7044.8 6.30784e+06 55991.4 5808.17 1.67936e+07 56950.9 62643.7 5770.73 1.67936e+07 4672.3 20523.6 22367.9 4010.45 1.67936e+07 21053.3 17212.3 11742.4 38972.7 835272 1.18135e+06 8.14959e+06 3.05868e+07 3518 403
80127 20240110.13 5 77678 212 5.77852e+06 185 5.0742e+06 28361.2 2.51822e+07 0.784593 5645.73 8.59996e+07 14108.3 1.88908e+07 14181.5 1.05021e+07 15726.7 1.46964e+07 67853.6 1426.2 1.25993e+07 7227.32 1.67936e+07 17254.6 6930.4 6.30784e+06 52973.3 5814.49 1.67936e+07 57229.8 62800.2 5743.18 1.67936e+07 4437.9 21029.2 22247.4 4000.68 1.67936e+07 20585.9 17535.4 11841 47054.2 830237 1.18158e+06 8.15485e+06 3.27345e+07 3470 403
80141 20240110.17 6 77678 205 5.77852e+06 188 5.0742e+06 28010.7 2.30851e+07 0.771918 5622.28 8.59996e+07 14075.7 1.88908e+07 14216.7 1.05021e+07 15540.4 1.25993e+07 89075.7 1429.4 1.25993e+07 7266.46 1.67936e+07 17271.4 7047.6 6.30784e+06 55837.8 5772.12 1.67936e+07 56631.9 63380.4 5734.07 1.67936e+07 4668.6 20687.5 22707.1 4000.46 1.67936e+07 17516.8 16919.7 11867.7 40664.8 829776 1.18296e+06 8.16646e+06 3.12634e+07 3490 403
80155 20240110.24 6 77678 198 5.77852e+06 189 5.0742e+06 28137.6 2.51822e+07 0.814507 5659.73 8.59996e+07 14138.6 1.88908e+07 14218.2 1.05021e+07 15669.6 1.46964e+07 68113.1 1442.1 1.25993e+07 7262.24 1.67936e+07 17255 6942 6.30784e+06 55813.6 5809.87 1.67936e+07 56715.1 64118.5 5741.2 1.67936e+07 4674.4 20532.4 21497.1 4012.82 1.67936e+07 20649.7 17579.3 11656.2 45787.2 838929 1.17924e+06 8.13816e+06 3.16832e+07 3465 403
80171 20240110.31 6 77678 214 5.77852e+06 199 5.0742e+06 28060.1 2.51822e+07 0.822009 5621.24 8.59996e+07 14139.3 1.88908e+07 14192.9 1.05021e+07 15625.4 1.25993e+07 68640.6 1437.6 1.25993e+07 7231.89 1.67936e+07 17265.5 7071.4 6.30784e+06 53117.6 5765.58 1.67936e+07 57097.5 62624.1 5708.84 1.67936e+07 4695.3 20449.4 21597.3 3972.77 1.67936e+07 20718.8 17607.1 11901.2 44417.4 830253 1.17919e+06 8.13473e+06 3.08592e+07 3623 403
80189 20240110.38 6 77678 210 5.77852e+06 192 5.0742e+06 28036.9 2.51822e+07 0.814313 5519.57 8.59996e+07 13980.4 1.88908e+07 14120.8 1.05021e+07 15465.4 1.25993e+07 93079.6 1420.3 1.25993e+07 6814.45 1.88908e+07 17149.1 7032.2 6.30784e+06 53077.5 5793.73 1.67936e+07 54544.7 62336.1 5481.28 1.88908e+07 4646.4 20502.6 21532.2 3988.62 1.67936e+07 20621 17438.8 11699.4 40070.9 835859 1.17563e+06 8.15576e+06 3.08592e+07 3568 403
80199 20240111.3 6 77678 206 5.77852e+06 208 5.0742e+06 27513.6 2.51822e+07 0.809202 5666.63 8.59996e+07 14088.4 1.88908e+07 14213.3 1.05021e+07 15681.5 1.25993e+07 77848.7 1428.3 1.25993e+07 6929.44 1.88908e+07 17246.8 7012.3 6.30784e+06 55598.1 5761.89 1.67936e+07 56861.2 62791.2 5737.88 1.67936e+07 4655 20613.2 22275.7 3974.98 1.67936e+07 17271.1 17041.5 11757.3 40635.8 828150 1.1829e+06 8.14418e+06 3.09702e+07 3603 403
80211 20240111.7 6 77678 210 5.77852e+06 197 5.0742e+06 27977.8 2.30851e+07 0.810097 5630.99 8.59996e+07 14065.3 1.67936e+07 14193.6 1.05021e+07 15697 1.46964e+07 94243.6 1436.3 1.25993e+07 6866.88 1.67936e+07 17215.8 6987.9 6.30784e+06 53027.3 5770.52 1.67936e+07 57220 60832.7 5782.78 1.67936e+07 4538.5 20877.2 21639.4 3985.43 1.67936e+07 17478.6 17282.2 11605.3 45045 820118 1.18458e+06 8.15585e+06 3.08174e+07 3424 403
80229 20240111.14 6 77678 213 5.77852e+06 201 5.0742e+06 27955.9 2.30851e+07 0.812835 5619.7 8.59996e+07 14056.2 1.67936e+07 14196 1.05021e+07 15573.5 1.46964e+07 81578.4 1437.6 1.25993e+07 7262.24 1.88908e+07 17111.2 7029.5 6.30784e+06 50602.2 5814.66 1.67936e+07 58236.4 61854.1 5765.08 1.67936e+07 4607.9 20912.3 22219.8 4000.28 1.67936e+07 17649.9 17429.6 11592.6 48116.8 831651 1.18093e+06 8.1541e+06 3.07406e+07 3780 403
80242 20240111.19 6 77678 230 5.84821e+06 205 5.08533e+06 28203.5 2.51822e+07 0.773804 5676 8.59996e+07 14015 1.88908e+07 14125.8 1.05021e+07 15610 1.46964e+07 80254.5 1432.2 1.25993e+07 7227.55 1.67936e+07 17179.2 6931.1 6.30784e+06 52816.7 5774.13 1.67936e+07 57165.1 61509 5743.01 1.67936e+07 4575.6 20626.3 22255.9 4011.12 1.67936e+07 17614.7 17469.5 11706.6 45142.8 824477 1.18539e+06 8.15543e+06 3.07813e+07 3496 403
80252 20240111.22 6 77678 224 5.84821e+06 203 5.08533e+06 28090.5 2.51822e+07 0.803418 5642.83 8.80968e+07 14130.4 1.88908e+07 14169.5 1.05021e+07 15696.8 1.25993e+07 96022.6 1432.8 1.25993e+07 7272.8 1.67936e+07 17226.9 7093.3 6.30784e+06 55861.6 5808.84 1.67936e+07 58346.8 62303.6 5757.11 1.67936e+07 4613.1 20686.4 21550.3 4009.22 1.67936e+07 17526.7 17350.6 11800.7 44845.1 830304 1.17589e+06 8.14596e+06 3.22312e+07 3419 403
80271 20240111.29 6 77678 237 5.84821e+06 243 5.73663e+06 27607.9 2.30851e+07 0.813292 5499.35 8.59996e+07 14036.4 1.88908e+07 14118.3 1.05021e+07 15562.4 1.25993e+07 83752.5 1431 1.25993e+07 7241.94 1.67936e+07 17133.9 7039.7 6.30784e+06 55981.5 5815.33 1.67936e+07 58573.4 62651.1 5734.66 1.88908e+07 4605.8 20476.2 22162.1 3971.63 1.67936e+07 20610.2 17402.2 11766.9 42971.6 831724 1.17891e+06 8.148e+06 3.07129e+07 3610 403
80281 20240111.33 6 77678 229 5.84821e+06 252 5.73663e+06 27775 2.30851e+07 0.807376 5593.57 8.59996e+07 14056.4 1.88908e+07 14156.9 1.05021e+07 15553.7 1.46964e+07 85969.9 1429.4 1.25993e+07 7262.76 1.67936e+07 17787.9 6942.1 6.30784e+06 55910.9 5813.13 1.67936e+07 57744.4 62780 5740.59 1.88908e+07 4629.4 20614.3 21886.1 3977.86 1.67936e+07 20606 17743.7 11816.4 47590.2 832607 1.18047e+06 8.15371e+06 3.07388e+07 3492 403
80292 20240112.1 6 77678 237 5.84821e+06 254 5.73663e+06 28064.6 2.51822e+07 0.799609 5616.54 8.59996e+07 14086 1.88908e+07 14203.3 1.05021e+07 15647.6 1.25993e+07 99762.3 1431 1.25993e+07 7203.91 1.67936e+07 17167.1 6980.4 6.30784e+06 55981.2 5771.83 1.67936e+07 58058.2 62225.6 5724.94 1.67936e+07 4625.2 20836.9 22032.3 4001.42 1.67936e+07 17710.9 17417.6 11589 40504.9 839107 1.17402e+06 8.13535e+06 3.10106e+07 3744 403
80302 20240112.6 6 77678 231 5.84821e+06 255 5.73663e+06 28172.9 2.51822e+07 0.825414 5106.83 8.80968e+07 14005.8 1.88908e+07 13959.4 1.05021e+07 15214.7 1.46964e+07 96165 1411 1.25993e+07 6814.37 1.88908e+07 17642.7 6972 6.30784e+06 53235 5806.03 1.67936e+07 57617.6 61515.4 5435.01 1.67936e+07 4588.4 21122.8 21902.4 3989.3 1.67936e+07 17823 17557.4 11576.2 39672.7 824006 1.17846e+06 8.13987e+06 3.0784e+07 3477 403
80310 20240112.9 6 77678 232 5.84821e+06 249 5.73663e+06 28180.1 2.51822e+07 0.777512 5489.82 8.59996e+07 13961.1 1.88908e+07 14164.5 1.05021e+07 15557.3 1.25993e+07 77692.7 1433 1.25993e+07 6791.51 1.67936e+07 17237.7 7052.7 6.30784e+06 56197.8 5819.48 1.67936e+07 58912.6 63019.4 5501.69 1.88908e+07 4550.4 20668.2 22383.9 4013.78 1.67936e+07 17474.6 17666.4 11810 45888.2 830922 1.1812e+06 8.13473e+06 3.09768e+07 3659 403

enforce_js_readonly

build_id build_number pi_basic_mt_sgx_cft^ pi_basic_mt_sgx_cft_mem pi_basic_mt_virtual_cft^ Commit latency factor tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem pi_ls_sgx_cft^ pi_ls_sgx_cft_mem pi_basic_sgx_cft^ pi_basic_sgx_cft_mem tlc_3node_fixed_duration_s tlc_3node_fixed_states tlc_atomic_reconfig_duration_s tlc_atomic_reconfig_states tlc_reconfig_duration_s tlc_reconfig_states tpcc_virtual_cft^ ls_virtual_cft^ pi_ls_virtual_cft^ pi_basic_virtual_cft^ pi_basic_js_sgx_cft^ pi_basic_js_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem pi_basic_js_virtual_cft^ pi_ls_jwt_sgx_cft^ pi_ls_jwt_sgx_cft_mem ls_jwt_virtual_cft^ pi_ls_jwt_virtual_cft^ ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_js_virtual_cft^ ls_full_js_virtual_cft^ ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_js_jwt_virtual_cft^ ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^ tlc_sim_traces tlc_sim_levelmean
80280 20240111.32 28096.9 2.51822e+07 70362.8 0.834007 5508.33 8.59996e+07 13982.4 1.88908e+07 13940.1 1.05021e+07 15270.1 1.25993e+07 6 77678 222 5.84821e+06 246 5.73663e+06 17150.4 55884.1 57671.5 62766.7 1407.1 1.25993e+07 6756.03 1.88908e+07 4608.8 6861.5 6.30784e+06 20189.4 22035.2 5804.89 1.67936e+07 17357.6 17511.4 5472.77 1.67936e+07 11998.3 3992.94 1.67936e+07 45041.3 829242 1.18448e+06 8.15186e+06 3.0493e+07 3193 403
80309 20240112.8 28095.9 2.51822e+07 77653.9 0.794855 5603.23 8.59996e+07 14060.9 1.88908e+07 14178.4 1.05021e+07 15643.3 1.46964e+07 6 77678 226 5.84821e+06 258 5.73663e+06 17336 55876.7 58261.5 62871.8 1429.8 1.25993e+07 7237.53 1.67936e+07 4642.6 6923.1 6.30784e+06 20655 18734.7 5808.75 1.67936e+07 17377.8 17525.6 5746.19 1.67936e+07 11730.6 4001.02 1.67936e+07 44509.7 834760 1.1837e+06 8.13221e+06 3.08666e+07 3338 403
80329 20240112.16 28169.3 2.30851e+07 77680.2 0.785757 5600.94 8.59996e+07 14058.6 1.88908e+07 14121.6 1.05021e+07 15608.8 1.46964e+07 7 77678 228 5.84821e+06 245 5.73663e+06 17183.2 55930.4 58111.5 62279.4 1423.1 1.25993e+07 6800.18 1.88908e+07 4668.5 6914.8 6.30784e+06 20854.3 22300.5 5819.9 1.67936e+07 17398.1 17489.9 5727.39 1.88908e+07 11822.4 4011.31 1.67936e+07 42835.1 837557 1.1729e+06 8.15407e+06 3.08908e+07 3534 403

images

CHANGELOG.md Outdated Show resolved Hide resolved
src/js/wrap.cpp Outdated Show resolved Hide resolved
@eddyashton eddyashton enabled auto-merge (squash) January 12, 2024 15:40
@eddyashton eddyashton merged commit 3885cd6 into microsoft:main Jan 12, 2024
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants