Firebase RangeError:最大コールスタックサイズを超えました

linasmnew

以下は、このSOの質問からのFirebase読み取りクエリのパフォーマンステストです。これを独自のFirebaseインスタンスに変更し、シーケンシャルテストを削除して、並列テストのみを残しました。

問題は、このコードを実行してforループを作成するとi < 12、長さの配列が生成されることです:32,768、コールスタックを超えたことを示すエラーが表示され続けます:RangeError: Maximum call stack size exceededしかし、このエラーの原因を特定できません...ローカルホストとクラウド機能の両方でテストしようとしましたが、成功しませんでした。

(参照されているSOテストはi <12で機能しますが、13に変更すると壊れます

function loadVideosParallel(videoIds, callback) {
  Promise.all(
    videoIds.map((id) => {
      return admin.database().ref("test").child(id).once('value')
        .then((snapshot) => {
          return snapshot;
        })
    })
  ).then((r) => callback());
}

function loadVideosForUser(loadVideosParallel, callback) {
  admin.database().ref("test").once('value').then((snapshot) => {
    var videoKeys = Object.keys(snapshot.val());

    for (var i=0; i < 13; i++) {
      videoKeys = videoKeys.concat(videoKeys);
    }

    loadVideosParallel(videoKeys, function() {
      if (callback) callback();
    });
  })
}

let start = Date.now();
loadVideosForUser(loadVideosParallel, function() {
  const endTime = (Date.now() - start)+'ms';
  console.log('parallel done after '+ endTime +'ms');
});

2017-12-20T23:26:28.527ZE helloWorld:RangeError:/ user_code / node_modules / firebaseのT(/user_code/node_modules/firebase-admin/lib/database/database.js:139:366)で最大コールスタックサイズを超えました-admin / lib / database / database.js:190:120 at ta(/user_code/node_modules/firebase-admin/lib/database/database.js:45:40)at ua(/ user_code / node_modules / firebase-admin / lib / database / database.js:45:89)at Ag(/user_code/node_modules/firebase-admin/lib/database/database.js:190:93)at / user_code / node_modules / firebase-admin / lib / database / database.js:195:260 at Oc(/user_code/node_modules/firebase-admin/lib/database/database.js:85:363)at Oc(/user_code/node_modules/firebase-admin/lib/database/database.js :85:449)at Oc(/user_code/node_modules/firebase-admin/lib/database/database.js:85:449)at Nc(/user_code/node_modules/firebase-admin/lib/database/database.js:85 :316)2017-12-20T23:26:29.758741829ZD helloWorld:関数の実行に5107ミリ秒かかり、ステータスが「クラッシュ」で終了しました

誰かが何か洞察を持っていますか?/user_code/node_modules/firebase-admin/lib/database/database.jsファイルを見てみましたが、縮小されているため、何が起こっているのか実際にはわかりません。

フランク・ヴァン・パッフェレン

SDKのスタックの1つをオーバーフローしている、32,768を超える読み取り操作をキューに入れています。コードにフロー制御なしでその数のアイテムをロードするのは悪い考えのように思われるので、SDKがうまくいくことを実際に非常に嬉しく思います。より合理的なバッチでアイテムをロードすることを検討してください。

ただし、一般的には、データベースからの数千のアイテムの読み込みを制限するようにしてください。あなたが集計操作のための多くのアイテムが必要な場合は、している多くの優れたデータベースに明示的に集計値を維持し、すべての書き込み操作でそれを更新オフ。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

nodejs firebaseエラーRangeError:最大コールスタックサイズが失敗を超えました

分類Dev

Firebase関数:未処理のエラーRangeError:最大コールスタックサイズを超えました

分類Dev

Firebaseクラウド関数:「未処理のエラーRangeError:最大コールスタックサイズを超えました」

分類Dev

Firebase関数-Googleクラウドバケットからファイルを取得すると、RangeErrorが発生します:最大コールスタックサイズを超えました

分類Dev

コールスタックの最大サイズがクラッシュを超えました-子が追加されたリスナーのFirebase

分類Dev

Firebase.httpsCallable関数は常に「最大コールスタックサイズを超えました」を返します

分類Dev

VueJS "RangeError:最大コールスタックサイズを超えました"

分類Dev

RangeError:Twigで最大コールスタックサイズを超えました

分類Dev

Angular HttpInterceptor RangeError:最大コールスタックサイズを超えました

分類Dev

RangeError:Angularjsで最大コールスタックサイズを超えました

分類Dev

RangeError:最大コールスタックサイズを超えました(Babel Ramda)

分類Dev

js Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

React: Uncaught RangeError: 最大コール スタック サイズを超えました

分類Dev

Karma Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

ajax RangeError:最大コールスタックサイズを超えました

分類Dev

JavaScript:mergeSortはRangeErrorを返します:最大コールスタックサイズを超えました

分類Dev

VSOリリース— RangeError:最大コールスタックサイズを超えました

分類Dev

マングース-RangeError:最大コールスタックサイズを超えました

分類Dev

Ontodiaライブラリ-RangeError:最大コールスタックサイズを超えました

分類Dev

Uncaught RangeError:最大コールスタックサイズがMeteor.jsフォームを超えました

分類Dev

phonegap / Cordovaエラー:[RangeError:最大コールスタックサイズを超えました]

分類Dev

RangeError:array.push(...)で最大コールスタックサイズを超えました

分類Dev

Chrome / jQuery Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

「RangeError:最大コールスタックサイズを超えました」なぜですか?

分類Dev

RangeError:valueChanges.subscribeの使用時に最大コールスタックサイズを超えました

分類Dev

Angular 2遅延読み込み:RangeError:最大コールスタックサイズを超えました

分類Dev

ERROR RangeError:最大コールスタックサイズを超えました(Angular 6)

分類Dev

Material-UI:Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

Uncaught RangeError:最大コールスタックサイズを超えました(jquery-1.12.4)

Related 関連記事

  1. 1

    nodejs firebaseエラーRangeError:最大コールスタックサイズが失敗を超えました

  2. 2

    Firebase関数:未処理のエラーRangeError:最大コールスタックサイズを超えました

  3. 3

    Firebaseクラウド関数:「未処理のエラーRangeError:最大コールスタックサイズを超えました」

  4. 4

    Firebase関数-Googleクラウドバケットからファイルを取得すると、RangeErrorが発生します:最大コールスタックサイズを超えました

  5. 5

    コールスタックの最大サイズがクラッシュを超えました-子が追加されたリスナーのFirebase

  6. 6

    Firebase.httpsCallable関数は常に「最大コールスタックサイズを超えました」を返します

  7. 7

    VueJS "RangeError:最大コールスタックサイズを超えました"

  8. 8

    RangeError:Twigで最大コールスタックサイズを超えました

  9. 9

    Angular HttpInterceptor RangeError:最大コールスタックサイズを超えました

  10. 10

    RangeError:Angularjsで最大コールスタックサイズを超えました

  11. 11

    RangeError:最大コールスタックサイズを超えました(Babel Ramda)

  12. 12

    js Uncaught RangeError:最大コールスタックサイズを超えました

  13. 13

    React: Uncaught RangeError: 最大コール スタック サイズを超えました

  14. 14

    Karma Uncaught RangeError:最大コールスタックサイズを超えました

  15. 15

    ajax RangeError:最大コールスタックサイズを超えました

  16. 16

    JavaScript:mergeSortはRangeErrorを返します:最大コールスタックサイズを超えました

  17. 17

    VSOリリース— RangeError:最大コールスタックサイズを超えました

  18. 18

    マングース-RangeError:最大コールスタックサイズを超えました

  19. 19

    Ontodiaライブラリ-RangeError:最大コールスタックサイズを超えました

  20. 20

    Uncaught RangeError:最大コールスタックサイズがMeteor.jsフォームを超えました

  21. 21

    phonegap / Cordovaエラー:[RangeError:最大コールスタックサイズを超えました]

  22. 22

    RangeError:array.push(...)で最大コールスタックサイズを超えました

  23. 23

    Chrome / jQuery Uncaught RangeError:最大コールスタックサイズを超えました

  24. 24

    「RangeError:最大コールスタックサイズを超えました」なぜですか?

  25. 25

    RangeError:valueChanges.subscribeの使用時に最大コールスタックサイズを超えました

  26. 26

    Angular 2遅延読み込み:RangeError:最大コールスタックサイズを超えました

  27. 27

    ERROR RangeError:最大コールスタックサイズを超えました(Angular 6)

  28. 28

    Material-UI:Uncaught RangeError:最大コールスタックサイズを超えました

  29. 29

    Uncaught RangeError:最大コールスタックサイズを超えました(jquery-1.12.4)

ホットタグ

アーカイブ