niccholaspage / Fe

An economy plugin
17 stars 43 forks source link

UUID conversion failing #62

Open vk2gpz opened 10 years ago

vk2gpz commented 10 years ago

getAccounts() in MongoDB should use find().skip().limit() to fetch documnets in chunks rather than trying to get all at onece. The code sometimes fails with access timeout.

    DBCollection collection = getDatabase().getCollection(ACCOUNTS_COLLECTION);
    int size = (int) collection.count();
    final int CHUNK = 1000;
    int chunks = size / CHUNK;

    List<Account> accounts = new ArrayList<Account>();

    for (int i = 0; i < chunks; i++) {
        DBCursor cursor = collection.find().skip(i*CHUNK).limit(CHUNK);
        for (DBObject aCursor : cursor) {
            BasicDBObject accountObject = (BasicDBObject) aCursor;

            Account account = new Account(plugin, accountObject.getString("name"), accountObject.getString("uuid"), this);

            account.setMoney(accountObject.getDouble("money"));

            accounts.add(account);
        }
        cursor.close();
    }

looks like the current code uses the old way to fetch UUID from mojang's server. Got the following error and failed the conversion:

[10:45:25] [Server thread/WARN]: java.io.IOException: Server returned HTTP resp\onse code: 400 for URL: https://api.mojang.com/profiles/minecraft [10:45:25] [Server thread/WARN]: at sun.net.www.protocol.http.HttpURLCon\nection.getInputStream(Unknown Source) [10:45:25] [Server thread/WARN]: at sun.net.www.protocol.https.HttpsURLC\onnectionImpl.getInputStream(Unknown Source) [10:45:25] [Server thread/WARN]: at org.melonbrew.fe.UUIDFetcher.call(UU\IDFetcher.java:82) [10:45:25] [Server thread/WARN]: at org.melonbrew.fe.database.Database.c\onvertToUUID(Database.java:116) [10:45:25] [Server thread/WARN]: at org.melonbrew.fe.database.databases.\MongoDB.init(MongoDB.java:40) [10:45:25] [Server thread/WARN]: at org.melonbrew.fe.Fe.setupDatabase(Fe.java:207) [10:45:25] [Server thread/WARN]: at org.melonbrew.fe.Fe.onEnable(Fe.java:77) [10:45:25] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.se\tEnabled(JavaPlugin.java:316) [10:45:25] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoa\der.enablePlugin(JavaPluginLoader.java:329) [10:45:25] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManage\r.enablePlugin(SimplePluginManager.java:405) [10:45:25] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R3.Craft\Server.loadPlugin(CraftServer.java:476) [10:45:25] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R3.Craft\Server.enablePlugins(CraftServer.java:394) [10:45:25] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.Dedicat\edServer.init(DedicatedServer.java:137) [10:45:25] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.Minecra\ftServer.run(MinecraftServer.java:458) [10:45:25] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ThreadS\erverApplication.run(SourceFile:628) [10:45:25] [Server thread/INFO]: [Fe] [Fe] UUID conversion failed, disabling Fe! [10:45:25] [Server thread/INFO]: [Fe] Disabling Fe v0.8-SNAPSHOT-b${BUILD_NUMBE\R}