Facebook returned an empty data set

So what is the problem? Well, in late February 2014, FB changed what they return when you ask for post data. In fact, they removed the pagination whenever a request returns no posts. Previously, even if no posts matched the filter, it would still tell you where it left off, so you could page forward or backward from that set. That is no longer the case.

So what do you do? Well, you need to get past the data hole. There are many ways to get past the data hole, but the goal is basically to fetch a set of data that guarantees at least one post is returned. That means you will get pagination data, and that is the requirement to have WM keep moving backward in time. If this message plagues your debug console, you have a few options. Let me list them in order of what will best resolve your issue:

BEST: Use Some New Options

Fbwm bug emptydataset

WM 3.1.3 added a few new options to help you get past the dreaded empty data set.

The first option makes WM fetch all your apps in a single pull. Normally WM fetches each app's posts separately, but this new option makes use of the FQL multiple query system.

  • The benefit of this system is that you are making less requests to FB in a small amount of time (unless you have fetch older set to a fast interval).
  • This option causes all sidekicks to share fetching edges, so if you have FV and PT sidekick, and you get no FV posts in the first set, but you get at least one PT post, then you have an edge from which you can continue backward for both apps.
  • Note that when sidekicks first dock, they will still pull their initial set individually, and may receive an empty initial data set.

The second option tells WM to fetch a non-filtered set of data from your feed. This will get ALL types of posts for ALL games and all status updates by your friends. WM will then filter out everything it needs and drop the rest.

  • The benefit to this method is that WM can keep track of fetching edges better. Normally when FB returns an empty data set, there is no post data to determine a fetching edge from. WM just stops because there is no data from which to infer a next fetch time. With this option, WM takes the oldest post date from whatever was returned and substitutes it for the older edge for all apps fetched in that request.
  • You should increase your number of posts requested to at least 250, if not maximum (500). This is because WM is asking for ALL types of posts, which means if you are only asking for 25, then you might get zero game posts.
  • This method may still fetch no game posts, but at least it will get a back edge for the next fetch.
  • This method can still potentially get an empty data set, but that is highly unlikely.
  • I highly suggest using this method together with the previous. If you don't it may act funny. Using both together helps to ensure you have a useful fetching edge all the way back to your user-set older limit, or approximately 4 weeks worth of posts (maximum, varies by account).

GOOD: Increase Your Fetching Quantity

By simply increasing your fetching quantity from the default of 25, to a higher number, such as 250, or even 500 (maximum), you may be able to fetch past those data holes.

  • The benefit to this method is that by fetching 250 posts, you will be asking for just over 250 posts, and having FB filter out the data. This almost always return less than 250 posts, but at least will get you past large gaps in the data stream where no game posts exist.

GOOD: Increase Your Friend Count

If you have a low friend count, or you have a list of friends that plays a large variety of games, or generally shares a lot of non-games posts, then having FB filter your posts for you will likely return empty data sets, especially if you have a small Fetching Quantity set. If you haven't chosen to use one of the options above, then you can maybe go get some more friends. Target adding friends who specifically play your chosen game. Also target friends that don't meme-spam a lot, or babble all day long with status updates about their bathroom endeavors, or what type of meal they are having tonight. By increasing specific game posts, you increase your likelihood that you will pull a data set containing at least one game post.

IFFY: Add Another Sidekick

If you are the kind of person who picks one game and plays only that game, then you probably only use one sidekick. By using a single sidekick, and having FB filter your posts down to just the app you play, then you greatly increase the possiblity of getting a set of data that does not include posts specific to that app. If you know your friends play more than one game, even if you don't, then you might add the sidekick for that game, for instance, many people play both PT and FV. By adding a secondary sidekick and using the option above to fetch all apps together in a single pull, you increase your chances of getting a data set with at least one game post.